ASP.NET 身份验证在自定义票证上滑动到期时间

2023-11-24

我正在使用以下代码创建自己的身份验证票证:

string formsCookieStr = string.Empty;
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
            1,                              // version
            username,                       // user name
            DateTime.Now,                   // issue time
            DateTime.Now.AddMinutes(30),    // expires
            false,                          // Persistence
            userRoleData                    // user data
    );
formsCookieStr = FormsAuthentication.Encrypt(ticket);
HttpCookie FormsCookie = new HttpCookie(FormsAuthentication.FormsCookieName, formsCookieStr);
HttpContext.Response.Cookies.Add(FormsCookie);

我希望到期时间是滑动到期时间 - 每次客户端发送请求时,到期时间应重置为 30 分钟。但是,我仅在用户首次登录时创建票证。ASP.NET 会自动为我滑动到期时间,还是需要“手动”执行某些操作来实现滑动到期时间?


这是配置在formsweb.config 部分。滑动过期的工作方式是,在每次请求时,ASP.NET 引擎都会通过增加超时来重写身份验证 cookie:

<authentication mode="Forms">
  <forms 
      loginUrl="~/Account/LogOn" 
      timeout="2880" 
      slidingExpiration="true" 
  />
</authentication>

但请注意,启用滑动过期是被认为是不好的做法之一。ASP.NET 安全实践.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET 身份验证在自定义票证上滑动到期时间 的相关文章

随机推荐