登录期间重新登录基本身份验证弹出窗口

Relogin basic auth popup during login

我使用 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)

不知道是什么导致了这个问题?任何建议

即使在单页应用程序中,用户想要使用多个选项卡也是很常见的。上述将令牌保存在 sessionStorage 中的安全性增强将以请求用户在他打开的每个选项卡重新登录的形式创建一些糟糕的用户体验。是的,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/

上述问题的解决方法:

两个应用程序都包含相同的 JSESSIONID 键,当我切换选项卡时该键发生冲突。我通过为每个应用程序

提供唯一的 JSESSIONID 键名来解决这个问题
App1  -- JSESSIONID_app1:bqkdsfasjfd79879jlkjadf
App2  -- JSESSIONID_app2:adfkjasf8908098kj987jkl