所以我创建了一个空的MVC项目作为学习经验,现在我有一些登录的东西,还有另一个问题......
似乎有人认为我关心使用Windows身份验证,所以我将以下内容添加到我的web.config文件中:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
现在,查看_LoginPartial.cshtml文件:
@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>
}
</text>
} else {
<ul>
<li>@Html.ActionLink("Register", "Register", "Account", routeValues: null, htmlAttributes: new { id = "registerLink" })</li>
<li>@Html.ActionLink("Log in", "Login", "Account", routeValues: null, htmlAttributes: new { id = "loginLink" })</li>
</ul>
}
当我尝试运行应用程序时,我现在收到以下错误:
值不能为null或为空。
这一行突出显示:
Hello, @Html.ActionLink(User.Identity.Name, "Manage", "Account", routeValues: null, htmlAttributes: new { @class = "username", title = "Manage" })!
我想要删除它,但在我看来,即使使用Forms身份验证,这也很有用,所以我不知道现在要做什么。
提前感谢您提供有关在此处实施表单身份验证的任何建议。
答案 0 :(得分:0)
使用个人用户帐户。我建议你重新开始而不是尝试修改身份验证。