gpt4 book ai didi

asp.net - 如何在 MVC 5 中设置 OwinContext 超时

转载 作者:行者123 更新时间:2023-12-03 01:23:45 24 4
gpt4 key购买 nike

当用户访问网站并输入存储在我们数据库中的凭据时,我们会创建身份验证。

如何设置超时时间?使用 MVC 5。

我的身份验证如下所示:

        var claims = new List<Claim>();
claims.Add(new Claim("UserId", user.UserID.ToString()));
claims.Add(new Claim(ClaimTypes.Name, user.FirstName + " " + user.LastName));
claims.Add(new Claim(ClaimTypes.Email, user.Email));
claims.Add(new Claim(ClaimTypes.NameIdentifier, user.UserID.ToString()));
var id = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);

var ctx = Request.GetOwinContext();
var authenticationManager = ctx.Authentication;
authenticationManager.SignIn(id);

最佳答案

设置固定过期时间跨度的方法是在 Startup.Auth.cs 文件中设置 ExpireTimeSpan 属性,如下所示:

// Enable the application to use a cookie to store information for the signed in user
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
ExpireTimeSpan = TimeSpan.FromDays(2)
});

请注意,您还必须将 cookie 设置为持久保存。在您的代码中,除了用户名和密码之外,您还必须传递一个 bool 值,然后更改

authenticationManager.SignIn(id); 

成为

authenticationManager.SignIn(new AuthenticationProperties { IsPersistent = rememberMe }, id); 

关于asp.net - 如何在 MVC 5 中设置 OwinContext 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22944783/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com