2017-06-12 108 views
0

我有使用java/j2ee開發的Web應用程序,並啓用了基本驗證,其工作正常。但在以下情況下有一個問題。在登錄過程中重新登錄基本驗證彈出

- Opened the same application in 2 different tabs. 
- During login i am switching/back to this applications. 
- But again it will ask for login credentials(basic authentication popup is coming) 

不是沒有導致這個問題的原因是什麼?任何建議

回答

0

解決方案的更多信息:

兩個應用程序包含相同JSESSIONID鍵這是越來越衝突時,我切換標籤。我通過爲每個應用程序提供唯一的JSESSIONID密鑰名來解決此問題

App1 -- JSESSIONID_app1:bqkdsfasjfd79879jlkjadf 
App2 -- JSESSIONID_app2:adfkjasf8908098kj987jkl 
0

即使在單頁面應用程序中,用戶也希望使用多個選項卡,這很常見。在sessionStorage中保存令牌的安全性提升將以請求用戶重新登錄他打開的每個選項卡的方式創建一些不良UX。對,sessionStorage不在標籤之間共享。

我解決它的方式是使用localStorage事件。 當用戶打開一個新選項卡時,我們首先詢問任何其他打開的選項卡,如果他已經爲我們安裝了sessionStorage。如果任何其他選項卡打開,它會通過localStorage事件向我們發送sessionStorage,我們會將它複製到sessionStorage中。 sessionStorage數據不會保留在localStorage中,即使在1毫秒內也不會保留,因爲它在同一個調用中被刪除。 數據通過事件有效載荷而不是localStorage本身共享。

如果您想對這款剛剛試用閱讀上述問題

https://blog.guya.net/2015/06/12/sharing-sessionstorage-between-tabs-for-secure-multi-tab-authentication/