1

我正在使用具有简单成员资格的 MVC4 数据库。在示例模板中,他们使用以下内容:

@if (Request.IsAuthenticated) {
    <text>
        Hello, @Html.ActionLink(User.Identity.Name, "Manage", "Account", routeValues: null, htmlAttributes: new { @class = "username", title = "Manage" })!
        @using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm" })) {
            @Html.AntiForgeryToken()
            <a href="javascript:document.getElementById('logoutForm').submit()">Log off</a>
        }

在其他网站上,我看到了这个:

@if(WebSecurity.IsAuthenticated)
{
  <p>Welcome, @WebSecurity.CurrentUserName</p>
  <p><a href="@Href("~/logout")">Log out</a></p>
}

有人能告诉我这些有什么区别吗?

4

1 回答 1

0

Request.IsAuthenticated

我相信,如果您使用的是 Windows 身份验证。如果请求是由经过身份验证的用户发送的,则始终为 true。在这种情况下,用户和组等由您机器中的 Windows Active Directory 或用户帐户处理。

WebSecurity.IsAuthenticated

这一点我相信在使用 Membership provider 的同时,我们可以为用户进行 CRUD 操作。请访问以下网址以获取更多信息。 http://www.mikepope.com/blog/displayblog.aspx?permalink=2240

于 2013-01-06T08:46:41.410 回答