2012-01-25 64 views
5

我已在我的web.config爲什麼會話狀態超時在我的MVC3應用程序中覆蓋表單身份驗證超時?

<sessionState mode="InProc" 
       timeout="2" 
       cookieless="UseCookies"/> 
<authentication mode="Forms"> 
    <forms 
    loginUrl="~/Account/LogOn" 
    timeout="1" 
    cookieless="UseCookies" /> 
</authentication> 

下面就我在MVC3(或Asp.Net)理解的sessionState控制當用戶對服務器會話時間從 和窗體身份驗證超時控制當用戶將被迫再次登錄到網站。

這似乎不是完全正確的:如果我從web.config中刪除sessionState節,認證部分中的超時值爲 完全被忽略 - 它似乎只是在一段默認時間後超時。

事實上,當認證超時時,會話狀態超時似乎是需要控制的。這根本沒有任何意義。 誰能告訴我我在這裏失蹤了什麼?

這與我詢問的this question有關,但我沒有深究爲什麼會出現這種情況。

回答

4

會話超時獨立於表單身份驗證超時。

你沒有你如何創建你的票細說了,所以這裏是最常見的怪癖這可能會影響您的意見:如果你自己實例化的權威性票

  1. ,然後在 的超時設置配置文件沒有效果。
  2. 滑動超時有點時髦,除非您在窗口的上半部分再次訪問,否則不會延長票證。

你可能想看看這篇文章的概述:

http://support.microsoft.com/kb/910443

相關問題