[英]Authentication Cookie in asp.net
我在asp.net.net中使用表單身份驗證,我已將身份驗證Cookie過期設置為60分鍾,在web.config中將會話超時設置為60分鍾,在web.config中將會話超時設置為60分鍾,並且在iis空閑時間中設置為60分鍾
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="60" defaultUrl="~/Landing.aspx" slidingExpiration="true"/>
</authentication>
<system.web>
<sessionState timeout="60" mode="InProc"/>
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
2, // Version number
txtUserName.Text.Trim(), // Username
DateTime.Now, // Issue date
DateTime.Now.AddMinutes(60), // Expiration date
false, // Persistent?
userData // User data
);
由於我正在使用表單身份驗證,如果用戶閑置60分鍾,則應在60分鍾后將用戶重定向到登錄頁面。但是我需要知道如果用戶閑置60分鍾將發生什么情況。身份驗證cookie會過期嗎? 盡管用戶仍在通過身份驗證?
編輯
我錯過了我將IIS中的應用程序池標識設置為網絡服務的另一件事
是的,用戶仍將過期,並且他/她將無權使用服務器上可用的資源。 您正在使用Forms Authentication Cookie,它是FormsAuthentication Ticket的簡單容器。
因為您的票證是非永久性的,這將導致您的“ cookie”過期,這會將用戶重定向到“登錄頁面”。 請注意,這僅處理“身份驗證”,請勿與Session混淆。
您的會話可能已“過期”,但是用戶仍已通過身份驗證,這可能是一個問題。
因此,為了直接回答您的問題,“用戶身份驗證”將過期,並且他/她將被重定向到“登錄”頁面,在“登錄”時將在該頁面上創建一個新的cookie,這將創建另一個“會話”對象。 加班,前一個將過期。
建議:使“ Web.config”中的表單超時小於會話。 不要為任何與Auth / Security相關的會話建立依賴關系; 兩者是不同的容器,應這樣處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.