MVC 用户角色身份

时间:2021-06-24 05:09:50

标签: asp.net asp.net-mvc identity

我正在使用 https://www.c-sharpcorner.com/UploadFile/asmabegam/Asp-Net-mvc-5-security-and-creating-user-role/ 演示来完全理解 ASP.Net Identity,这是一个很棒的演示,只是我似乎无法指出的一个方面,我希望这里有人能帮我找到。

在这段代码中,当用户通过身份验证并离开(没有退出网站)然后由于某种原因返回时,他仍然“通过身份验证”并在主页索引页面上获得“你好”。我不知道在代码中的何处重定向到所需页面或“将他注销”?

希望得到帮助

问候

2 个答案:

答案 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?