Jou*_*man 12 asp.net forms-authentication
我正在使用以下代码创建自己的身份验证票证:
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);
Run Code Online (Sandbox Code Playgroud)
我希望到期时间是一个滑动到期 - 每次客户端发送请求时,到期时间应重置为30分钟.但是,我只是在用户第一次登录时创建票证.ASP.NET是否会自动为我延长到期时间,或者我是否需要"手动"执行某些操作来实现滑动到期?
Dar*_*rov 10
这是在formsweb.config部分配置的.滑动到期的方式是在每个请求上,ASP.NET引擎通过递增超时来重写身份验证cookie:
<authentication mode="Forms">
<forms
loginUrl="~/Account/LogOn"
timeout="2880"
slidingExpiration="true"
/>
</authentication>
Run Code Online (Sandbox Code Playgroud)
但请注意,启用滑动过期是ASP.NET安全实践中被认为是不好的做法之一.
| 归档时间: |
|
| 查看次数: |
6219 次 |
| 最近记录: |