2011-12-03 153 views
2

我有幾個關於ASP.net和一般安全性的問題。ASP.net安全問題「授權」和「.ASPXAUTH」Cookie

  1. 哪裏存儲「授權」cookie?當我登錄系統,然後決定註銷時,我想這足以從我的瀏覽器中刪除cookie,但這不起作用。然後我重新考慮這些cookie是由瀏覽器存儲的密碼提供的,但又錯了,因爲我沒有在那裏看到我的網站的登錄/密碼信息。 而且由於「授權」cookie總是返回401代碼的響應,所以用戶始終保持登錄系統,我無法理解如何註銷。

  2. 推薦「.ASPXAUTH」超時 - 30分鐘,然後cookie過期。雖然我登錄,但建議30分鐘後我需要再次登錄(即使滑動屬性爲true,我也可以只留下一頁超過30分鐘)。但是,當我登錄到大多數網站(例如stackoverflow)時,即使在延遲一週之後,我也可以在此登錄。它是如何實現的,網站是否設置了更長時間的超時時間或者還有其他一些技巧?

謝謝!

回答

3

回答問題1:

使用FormsAuthentication.Signout();註銷。這將刪除身份驗證cookie。身份驗證cookie存儲在http請求中,並作爲每個其他cookie存儲在響應中。

聳聳你的第二個問題:你的cookie應該在2880分鐘後過期。我不知道你爲什麼會在30分鐘後到期。此外滑動過期通常起作用。您的瀏覽器設置可能有一些影響嗎?另一種可能性可能是Visual Studio內部Web服務器的行爲不像真正的Web服務器。嘗試在IIS上進行設置。

編輯: 我想回答你的第二個問題是here

+0

感謝響應! 第一:你能解釋它是如何在內部工作的,我的意思是認證cookie實際存在於哪裏? 2nd: <身份驗證> – baio

+0

您的登錄表單是否爲真正的WCF服務? – slfan

+0

是的,但使用表單身份驗證。但我認爲這裏的背景並不重要,關鍵是ASP Forms認證 – baio