我正在使用 https://www.c-sharpcorner.com/UploadFile/asmabegam/Asp-Net-mvc-5-security-and-creating-user-role/ 演示来完全理解 ASP.Net Identity,这是一个很棒的演示,只是我似乎无法指出的一个方面,我希望这里有人能帮我找到。
在这段代码中,当用户通过身份验证并离开(没有退出网站)然后由于某种原因返回时,他仍然“通过身份验证”并在主页索引页面上获得“你好”。我不知道在代码中的何处重定向到所需页面或“将他注销”?
希望得到帮助
问候
答案 0 :(得分:0)
在AccountController.cs中,需要放入一个URL链接,在点击时调用LogOff()动作方法,这样会在浏览器中清除Login Authenticate Cookie。
//
// POST: /Account/LogOff
[HttpPost]
[HttpGet]
[ValidateAntiForgeryToken]
public ActionResult LogOff()
{
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
return RedirectToAction("Index", "Home");
}
答案 1 :(得分:0)
在identity.config中,您可以设置会话过期时间和cookie过期时间,如下所示。
public void ConfigureAuth(IAppBuilder app)
{
var sessionTimeout = 40;
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
ExpireTimeSpan = TimeSpan.FromSeconds(20),
});
}
如果您正在寻找一种在浏览器关闭时注销用户的方法,请参阅此内容,
How do I log a user out when they close their browser or tab in ASP.NET MVC?