2009-08-17 179 views
1

尋找跨瀏覽器的方式將用戶從使用Windows身份驗證的網頁上註銷。跨瀏覽器窗口窗體註銷?

+0

有人能告訴我什麼是「使用Windows身份驗證的網頁」嗎? – chronos 2009-12-07 19:02:55

+0

@Chronos,.NET支持2種身份驗證模式 - Windows和Forms。 Windows使用用戶登錄到計算機的帳戶,表單使用標準的用戶名/密碼字段。谷歌應該告訴你其餘的。 – LiamB 2009-12-08 09:36:39

+0

@Pino - 謝謝!我從來沒有開發過特定於Windows的網站,因此我缺乏知識。 – chronos 2009-12-08 11:55:09

回答

2

沒有最終的解決方案。這是所有類型www認證的已知限制。

您可以發送一個虛假的未經授權的答案來再次請求密碼。這種方法可以幫助您模擬註銷。

Response.Status = "401 Unauthorized" 
Response.AddHeader "WWW-Authenticate", "Negotiate" 
Response.AddHeader "WWW-Authenticate", "NTLM" 
+0

有趣。迄今爲止最好的。 – Will 2009-12-08 16:30:43

0

關閉瀏覽器是我發現的唯一的跨瀏覽器方式。這是我們不得不切換到使用Forms身份驗證的原因之一。

+1

您必須是指關閉所有瀏覽器實例 – Oded 2009-12-03 22:01:16

+3

實際上,他意味着所有瀏覽器窗口都在同一個進程中 - 這實際上意味着取決於它是哪個瀏覽器。 – AviD 2009-12-08 00:37:37

0

登錄用戶出什麼點?您是否希望他們不得不關閉瀏覽器並再次訪問該網站並自動登錄?

如果它只是一個純粹的視覺僞裝,那麼我會使用cookie來指示用戶是否需要顯示登錄屏幕。它與認證或授權無關,僅僅是它們是否「登錄」的指標。

當他們註銷並轉到登錄屏幕時會發生什麼?你是否希望他們實際上必須輸入他們的憑據?什麼是「註銷後登錄」用戶故事?

+0

重點在於處理用戶必須登錄網站才能使用的情況,他們不允許共享會話(用戶Hurr無法同時登錄兩次),並且用戶經常關閉瀏覽器而不註銷,這意味着他們必須等到他們的會話超時後才能重新登錄。 – Will 2009-12-09 19:08:21