2013-04-30 81 views
0

我使用FormsAuthentication.SetAuthCookie持續

FormsAuthentication.SetAuthCookie(txtUserName.Text, true) 

由於這個cookie是持久的。

1)因此,有需要甚至有超時,因爲這個cookie 將不會超時。

請注意下面沒有超時。

 <forms loginUrl="Login.aspx" cookieless="UseUri" /> 

2)要照顧的瀏覽器不容許一個cookie的, 是

 cookieless="UseUri" 

去的地方使用URL的最佳方式?

+0

「注意下面沒有超時。」 - 出現超時:如果您沒有像在示例中那樣顯式指定它,則默認爲30分鐘:http://msdn.microsoft.com/en-us/library/1d3t3c61(v=vs.71)。 aspx – Joe 2013-04-30 15:25:38

回答

0

我不確定你想要完成什麼,但我可以告訴你持久性cookies會超時。閱讀此Forms Element for authentication

關於您的問題,確定 - Cookieless =「UseUri」在不支持cookie的瀏覽器上非常有用。但根據我的經驗,使用此標誌被認爲是不好的實踐,因爲:

  1. 大多數瀏覽器都支持cookies;
  2. 對於cookieless =「UseUri」,兩個用戶可以共享會話數據,他們所要做的就是讓一個用戶將他的應用程序url發送給另一個用戶;
+0

感謝bastos - 我如何處理舊版瀏覽器或禁用Cookie的用戶。我如何處理這些用戶這就是爲什麼我有cookieless =「Useuri」 – 2013-04-30 15:31:23

+1

自1995年以來,Cookie一直存在。只有真正的,真正舊的瀏覽器不執行cookie。如果用戶在他的瀏覽器上禁用了Cookie,而不是讓他失望,只需將他重定向到錯誤頁面......這比讓用戶分享會話要好。 – 2013-04-30 15:45:14