Asp.net
Asp.net 形成身份驗證 cookie 不遵守 IIS7 的超時
身份驗證 cookie 似乎在短時間內(一天左右)後超時。我正在使用表單身份驗證,並且在 web.config 中設置了帶有 slipExpiration=“false” 的 timeout=“10080”。使用該設置,cookie 應在使用者成功通過身份驗證後大約 7 天過期。
這與 IIS6 所宣傳的一樣有效,但是當我將站點移至 IIS7 時,cookie 過期得更快。我已經在多台使用 IE 和 Firefox 的機器上確認了這種行為,讓我相信這是 IIS7 設置。
是否存在與身份驗證相關的 IIS7 特定隱藏設置?網站的所有其他身份驗證類型都被禁用,匿名使用者跟踪除外。
machineKey身份驗證 cookie 使用來自本地web.config或全域的值進行加密machine.config。如果沒有明確設置這樣的密鑰,則會自動生成一個密鑰,但它不會持久化到磁碟 - 因此,每當應用程序重新啟動或由於不活動而“回收”時,它都會改變,並且將在下一個打擊。解決問題就像在伺服器上添加
<machineKey>配置部分一樣簡單web.config,或者可能(最好?)添加到machine.config伺服器上(未經測試):<system.web> ... <machineKey validationKey="..." decryptionKey="..." validation="SHA1" decryption="AES"/> ... </system.web>