Spring MVC -在所有选项卡中重定向到登录页面
Spring MVC - Redirect to login page in all tabs
我有一个基于ajax的网站建立在Spring MVC。在标题上,它显示了登录的用户和浏览到其他页面的菜单。点击菜单页面通过ajax调用改变,菜单/标题保持不变。这是我面临的一个问题,
1- Logged in as user1
2- Click Profile Page to see its profile (via ajax loads fine)
3- Open another tab, open the same site, logged out and log in as user2
4- Come back to First Tab, click Profile Page again
This time it shows profile of User2 but on header/menu its still showing User1
如何实现这个解决方案?或者有更好的解决方案吗?
-- As soon as a user is logged out, the web site should refresh to login page on all tabs where its opening on same browser.
不确定你是否理解为什么的行为是这样的,所以我快速解释一下。
通常每个浏览器实例有一个会话,而不是每个选项卡。因此,如果在每个实例中启动浏览器X两次并加载应用程序一次,就不会出现这个问题。
但是,在单个浏览器实例中,加载到选项卡1中的应用程序没有意识到您在选项卡2中注销并使用不同的用户登录。它为每个浏览器实例保留一个会话cookie。然后,如果你与tab 1中的应用程序交互,它会发现当你在tab 2中登录时创建的会话cookie并使用它。
<<p> 解决方案/strong>一种解决方案是每次加载一个内容页时更新标题。为此,您需要在用户登录时将用户信息(id、名称等)存储在cookie中,并在加载内容页时从cookie中读取。或者您将用户信息与每个内容页一起发送,当然它必须隐藏在某个地方。
相关文章:
- 我尝试在登录脚本中使用ajax,但页面不会重定向
- 访问NeedLogin操作后不重定向到登录页面
- 登录后重定向,缓存页面问题-Javascript
- Framework7:登录重定向
- 在页面加载之前检查登录和重定向
- 如何在ASP.NET中创建重定向到登录页
- 意思是.js - 登录后重定向用户 - 在本地工作,但在部署时不起作用
- 登录尝试和重定向
- Laravel:在 ajax 请求的会话过期后重定向到登录
- 用户使用铁路由器登录后如何重定向
- 从登录页重定向到主页
- 登录后PHP登录脚本重定向不起作用
- 如何基于电子邮件地址域重定向到电子邮件登录页面
- Facebook登录重定向问题
- 如果用户尚未登录Angular JS,请重定向至登录页面
- 重定向“如果确认了电子邮件,则将用户重定向到登录页”
- 防止Angular网站上未经授权的用户在重定向到登录之前看到网站的最佳方式
- 如果未处于登录状态,如何重定向到登录页面,登录后重定向到原始页面
- AngularFire,登录身份验证和重定向并不完全有效
- 从angularjs重定向登录页面到欢迎页面