【发布时间】:2015-05-31 03:47:00
【问题描述】:
我们的网站有时会决定您无法退出,但大多数情况下它都能正常工作。以下是这件事的基本内容。我已经在远程服务器上的 Chrome 和 IE 以及使用 VS 的本地测试中看到了这个问题。它甚至决定在本地测试中成为一个足够长的问题,以尝试通过清除/放弃强制删除会话并将所有 cookie 日期设置为 -1 天。没有帮助。
请注意,一旦我执行 F12 并清除域的 cookie,问题就会停止并且用户已注销。如您所见,我已经更改了 SignOut(...) 并且没有参数,没有更改。同样,这种情况有时会发生,很难测试。
系统似乎无法从浏览器中删除 cookie,但我看不出原因,并且使用不同的浏览器更没有意义。
我知道这个链接,看起来很相似:Cannot logoff of identity MVC 5 application
建议尝试什么或在哪里寻找,谢谢。
Login
var user = await UserManager.FindAsync(model.Email, model.Password);
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = true }, await user.GenerateUserIdentityAsync(UserManager));
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult LogOff()
{
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
return RedirectToAction("Index", "Home");
}
编辑: 查看 Chrome F12-Cookies。如果我只是删除 .AspNet.ApplicationCookie 并尝试导航,我就会被登录。按注销选项仍然不起作用。我看到 cookie 将在 14 天后过期,并且日期没有改变。真的似乎默认系统没有尝试使 cookie 过期或者也不允许。有这个的源代码吗?
【问题讨论】:
标签: asp.net-mvc cookies