是否可以實現僅在瀏覽器的相同實例中可用的身份驗證。我的意思是,當用戶從同一個瀏覽器的另一個實例進入時,他將能夠從另一個帳戶登錄。這兩個賬戶將同時登錄?是否可以在瀏覽器範圍的實例上實現身份驗證?
回答
表單身份驗證允許這樣做。考慮到您必須打開另一個瀏覽器窗口而不是選項卡,因爲通常在瀏覽器窗口中的標籤之間共享身份驗證Cookie。
如果您在登錄頁面上使用Login控件將DisplayRememberMe屬性值設置爲false。並使用以下代碼從登錄頁面重定向:FormsAuthentication.RedirectFromLoginPage(LoginControl.UserName, false);
在這種情況下,身份驗證Cookie將存儲在瀏覽器的進程中,並且不會在瀏覽器的多個實例之間共享。
我會嘗試解釋窗體身份驗證如何工作,如果您仍然有興趣得到答案。 每次您打開受保護的頁面系統檢查身份驗證Cookie時。如果不存在,則系統返回未經授權的響應並將用戶重定向到登錄頁面。當用戶輸入登錄名和密碼時,Forms Authorization嘗試使用提供的憑證對用戶進行身份驗證。如果憑證有效,系統將生成身份驗證Cookie並將其發送到客戶端的瀏覽器。然後這個cookie用於未來的請求。 有兩種方法可以將cookie存儲在客戶端: 第一種方式 - cookie在客戶端的硬盤驅動器上存留。在這種情況下,每次用戶打開本網站的頁面時,這個特定的Cookie都會使用。這個cookie對於每個瀏覽器實例都是一樣的,所以確實無法用不同的憑證打開不同的瀏覽器實例。 但第二種選擇是,身份驗證cookie不會保留在客戶端的硬盤上,而是存儲在瀏覽器的進程中。在這種情況下,您可以爲不同的用戶打開很多瀏覽器窗口。 正如我上面提到的,ASP.NET中的這兩種情況可以通過爲FormsAuthentication.SetAuthCookie或FormsAuthentication.RedirectFromLoginPage方法提供適當的第二個參數來實現:對於客戶端硬盤上的持久cookie以及瀏覽器進程中的存儲cookie爲false。
順便說一下,即使使用Windows身份驗證,也可以使用不同憑據打開網站頁面。要達到此目的,您必須以「運行方式...」命令啓動瀏覽器並提供不同的Windows憑據。
那是怎麼回事?當我登錄一個實例並打開另一個實例時,第二個實例將被登錄。當我從其中一個登出時,另一個將被註銷。 –
在IE中使用Gmail進行試用,您會發現它會將身份驗證cookie與實例共享。我也嘗試過,結果相同(即使在我嘗試過時(文件 - 新建會話),也會共享身份驗證Cookie(IE 8,9)) –
Gmail將Cookie存儲爲持久性cookie。如果關閉計算機並啓動備份,您仍然登錄。 – mjr
要做到這一點的唯一方法就是在查詢字符串中保留會話ID。這是非常醜陋的,但可能(iirc)與表單身份驗證。除非有很好的具體原因需要這個,否則我建議不要這樣
- 1. 是否可以在React.js中實現指紋身份驗證
- 2. 是否可以在沒有瀏覽器的谷歌廣告中實現oauth2身份驗證?
- 3. 實現Facebook身份驗證
- 4. 確定是否瀏覽器支持集成的身份驗證
- 5. Ember身份驗證範例
- 6. 在NodeJS的TCP服務器上實現簡單身份驗證
- 7. 實現窗體身份驗證在
- 8. 在Flask中實現Gmail身份驗證
- 9. 在WildFly8中實現身份驗證
- 10. AngularJS瀏覽器身份驗證提示
- 11. 瀏覽器實例是否實現緩存機械化?
- 12. 實現WebDAV Servlet的身份驗證
- 13. 實現基於REST的身份驗證
- 14. 是否可以在asp.net身份驗證中禁用雙因素身份驗證?
- 15. 實時身份驗證和權限範圍
- 16. Pockect PC WCF實現Windows身份驗證
- 17. 如何實現ASP.Net Forms身份驗證
- 18. 如何實現身份驗證?
- 19. 如何實現WebServiceHost身份驗證?
- 20. 無法實現身份驗證 - CakePHP
- 21. 實現自定義身份驗證(MVC5)
- 22. wcf如何實現其身份驗證?
- 23. 在PHP身份驗證流程中實現用於身份驗證的JavaScript SDK
- 24. 實施JWT身份驗證
- 25. j_security_check身份驗證是否可以跟隨其他Web身份驗證機制?
- 26. 是否可以在函數範圍內聲明/實現模板?
- 27. 在web api owin身份驗證背後的實現身份服務器
- 28. youtube基於瀏覽器的上傳yt:身份驗證未知
- 29. 是否可以實現我自己的對話範圍?
- 30. 瞭解Web應用程序身份驗證方案 - 它們如何在每個新的瀏覽器實例上強制進行身份驗證?
你是指瀏覽器窗口或不同瀏覽器的實例嗎? –
同一瀏覽器的不同實例 –
@ OneHalfTrackMindMan:謝謝,我編輯了它 –