页脚

一个账号只能一个人同时登录:一个账号只能在一个浏览器中登陆,在另一个浏览器中重新登陆后 前一个浏览器中的登陆信息需要失效。

解决思路:

1.用户登录成功后生成一个随机 loginId。


2.Redis 保存:

账号唯一ID(accountId) -> 当前loginId


3.当前浏览器的 HttpSession 同时保存这个 loginId。


4.每次访问受保护功能时,过滤器比较:

Session中的loginId == Redis中的当前loginId


5.新浏览器登录同一账号时直接覆盖 Redis;旧浏览器下一次操作时比较失败,立即失效 session,并跳转登录页。


6.普通页面请求直接跳转;Ajax 请求返回统一的 401,再由公共 JS 执行 top.location,否则老系统的一些 Ajax 页面只会收到一段 HTML,不会真正跳转。





评论组件

评论 (0)

登录 后发表评论

例子吧