2016-12-20 83 views
0

要驗證用戶,默認實現Microsoft.Owin.Security.AuthenticationManager.SignIn(claimsIdentity)生成的cookie中存儲了哪些信息?OWIN驗證cookie如何實際驗證

Chrome/FF不清除沒有過期日期的cookies(取決於用戶的瀏覽器設置)。因此,即使是非持久性,經過cookie驗證的用戶仍然通過瀏覽器重新啓動登錄。

用戶甚至在應用池回收後仍然保持登錄狀態,這就是提示我提出這個問題的原因。

該cookie是否包含特定於會話的信息,還是與持久性cookie相同,但沒有過期日期?

回答

2

據我所知,生成的cookie包含多個字段,其中包括用戶ID和cookie的到期日期時間。數據使用Web服務器的機器密鑰進行加密,該服務器會將cookie發送到瀏覽器。

因此,在重新啓動Web應用程序後,機器密鑰保持不變,只要過期未過期,cookie仍然可用。

+0

謝謝大衛。我沒有在我的web.config中定義一個機器密鑰。這是否自動生成?如果是這樣,大概它在應用程序池回收中保持不變? – Erresen

+1

是的,它默認爲IIS中每個應用程序池(或Web身份)自動生成,並保持不變,直到您在Web配置中定義它爲止。所以它在回收過程中將保持不變。 – David