我有一個asp.net應用程序,似乎忘記了用戶登錄後不久。什麼可能導致asp.net應用程序忘記用戶?
我正在使用成員資格提供程序,當選擇「記住」日誌時,它會在會話期間記住它。我甚至可以關閉瀏覽器,重新啓動並回來,它仍然會登錄。但過了一段時間它就會忘記,它似乎在任何時候都會這樣做。我曾經登錄過,當我去到一個新的頁面時,它被註銷。
其他奇怪的事情是:
- 在我的機器它會記住在日誌中,直到永遠。即使在IIS重新啓動並重新編譯後,它也會按預期記住我的登錄。
- 我有另一個應用程序在同一臺服務器上,永遠記住登錄。我比較了他們如何處理登錄,他們似乎是相同的。
這使我相信這個問題與服務器有關,也可能與應用程序中與登錄和成員代碼沒有直接關係的東西有關。我可以看什麼?
編輯: 使用Fiddler查看cookie,他們似乎沒問題。 今天創建身份驗證cookie過期從現在開始2周,這是我的配置是如何設置的: 到期=週一,06月2010年1時47分51秒GMT
編輯: 這個問題似乎是,應用程序池正在循環使用,並且身份驗證cookie變得無效,因爲機器密鑰已更改,無法再讀取它。解決方案是將machineKey段添加到web.config並提供靜態機器密鑰。
太多龍舌蘭酒? – 2010-08-22 20:11:13
記住我的功能是基於cookie。所以我會診斷cookie的生命週期。 – 2010-08-22 20:27:46
我看了一下cookie,它的到期日期是2個星期。 – dtc 2010-08-23 02:05:39