12
我使用下面的代碼創建我自己的身份驗證票據到期時間:ASP.NET驗證滑動定製票
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會自動爲我保留失效時間,還是需要手動執行某項操作才能實現失效期限?
謝謝。但是,當不使用自定義門票時,默認情況下是過期失效,否則無論上次請求的當前狀態如何,用戶都會註銷。我沒有觀察到這種行爲,文檔稱滑動到期是默認設置。我的自定義故障單默認情況下會過期嗎? (我在web.config中沒有slidingExpiration設置) – Journeyman 2011-06-08 08:26:28
「滑動過期的工作方式是,每次請求時ASP.NET引擎都會通過增加超時來重寫身份驗證cookie」......不完全正確,因爲ASP.net只重寫如果超過一半的超時值已過,則認證票證。 http://weblogs.asp.net/rajbk/archive/2004/10/11/241080.aspx – BrazenTongue 2012-02-03 18:23:01
@BrazenTongue - 該鏈接截至2017年2月已經死亡,是否可以提供替代品? – user3256944 2017-02-18 15:49:13