我正在ASP.NET MVC中创建一个站点。不幸的是,FormsAuthentication.SetAuthCookie(login.Username, login.RememberMe);
似乎无法正常运作。
修改:这是我正在使用的代码:
[AllowAnonymous]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginViewModel login, string returnUrl) {
if (ModelState.IsValid) {
if (Membership.ValidateUser(model.Username, model.Password)) {
FormsAuthentication.SetAuthCookie(model.Username, model.RememberMe);
if (Url.IsLocalUrl(returnUrl)) {
return Redirect(returnUrl);
} else {
return RedirectToAction("Index", "Home");
}
}
}
ModelState.AddModelError("", "Username or password are incorrect!");
return View(login);
}
我已经在我的配置中将Forms设置为Forms:
<authentication mode="Forms">
<forms loginUrl="/Account/Login"/>
</authentication>
当我尝试注销时,它总是将我重定向到登录,因为服务器认为我没有登录。 我不明白我做错了什么。有人能说出来吗?我已经做了一些研究,但没有答案回答了我的问题/问题。
我在部分代码中也有以下代码,但也无效。
@if (Request.IsAuthenticated)
{
//show logout button
}
else
{
//show login button
}
答案 0 :(得分:0)
我已经开始工作了,我只需要将以下标签添加到web.config:
<system.webServer>
<modules>
<remove name="FormsAuthentication" />
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
</modules>
</system.webServer>
和
<add key="enableSimpleMembership" value="false" />
<add key="autoFormsAuthentication" value="false"/>