2011-09-26 46 views
5

我有一個Web應用程序與FormsAuthentication和slidingExpiration="true"在我的web.config沒有在每個請求中返回一個cookie,但是當我看到HTTP事務時,我看不到Web服務器在每個請求中返回AUTH cookie。帶有啓用slidingExpiration的FormsAuthentication不會在每個請求中返回一個cookie。

檢查docs,它應該。

slidingExpiration可選屬性。指定是否啓用滑動 過期。滑動到期會重置活動的 身份驗證時間,以使Cookie在單個會話期間每次請求時過期。該屬性可以是以下值之一。 值描述True指定啓用滑動到期。 刷新身份驗證Cookie,在單個會話期間的後續請求上重置到期時間 。 False指定 滑動到期未啓用,並且cookie從最初發布cookie的時間開始到設置的 間隔過期。默認 爲True。

有誰知道它爲什麼不按預期工作?

乾杯。

回答

7

我已閱讀本:http://www.dotnetmonster.com/Uwe/Forum.aspx/asp-net-security/2316/problem-with-slidingExpiration

換句話說,如果從單創建的經過時間大於 然後一半的票證超時(在你的情況是1分鐘)的 票贏得」不能更新。否則,新的門票將被授予 並有新的超時(您的情況爲2分鐘)。總結一下,如果您在1分鐘後點擊了 頁面,則無論您使用的是slidingexpiration設置,它都不會延長您的表格會話生存期 。

它是有道理的,但我找不到任何官方消息來源。所以當我有空閒時,我會測試一下自己。

乾杯。

+0

回答不夠快,上面提到的算法可能有缺陷,具體取決於您的要求。 –

+1

回答它,我很高興將您的答案標記爲正確:)爲什麼它可能有缺陷?謝謝。 – vtortola

+2

下面是MSDN鏈接:http://msdn.microsoft.com/en-us/library/system.web.configuration.formsauthenticationconfiguration.slidingexpiration.aspx – ctekse

0

新餅乾只有當一半的時間從餅乾創建過去並且發生在您的案例中時纔會發出。

相關問題