簡體   English   中英

asp.net中的身份驗證Cookie

[英]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相關的會話建立依賴關系; 兩者是不同的容器,應這樣處理。

最好您閱讀下面的鏈接。 對您來說會更快。 看一下slideExpiration

在到期的一半時間之前,將根據每個請求刷新到期。

了解表單身份驗證票證和Cookie表單元素

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM