开发者社区> 问答> 正文

两个浏览器登陆同一个账户,session无法同步:报错

不想写单例登陆,所以出现一个问题就是,在两个浏览器登陆后,其中给一个浏览器变更了密码,另外一个浏览器由于登陆账户用的session不是同一个会导致,登陆状态一直在,密码是错误的情况还是可以正常操作....这里如何做到session共享呢.

展开
收起
kun坤 2020-06-06 14:56:30 1174 0
1 条回答
写回答
取消 提交回答
  • 用cache实现session

    ######

    你这个问题描述 真66

    不是同一个浏览器  你居然想session共享?

    貌似我没在开源看到过过。

    单点登录和session共享 ??

    ######回复 @easymbol : 服务器需要存储uid和session之间的映射吧……密码改了,全部的session都要过期######不是,如果写单点登陆的话,那么也就不会出现这个问题了,但是不想用单点登陆,想直接操作session来处理,所以考虑的方向到了session共享######

    当然是考虑做监听啊

    ######

    你如果把这个功能做出来,请告诉我你公司的网址

    ######

    这不太可能吧

    ######

    只能每次操作里面去验证密码是否正确了

    ######

    不需要那么麻烦   在修改密码的的逻辑里添加session相关验证就可以了,当然也可以反过来在session验证的时候添加上密码验证就可以了   没必要搞什么session共享     按照你的这个描述感觉系统应该挺小的,你要是上了session共享后,你会发现牛刀无地用;当然要是用来做研究的可以上    共享session推荐你个中间件mycat

    ######

    如果密码修改了,将除了最后登录的那个客户端以外的其它客户端生成的所有 session 设置为过期,然后其它客户端自然会被踢出,并要求重新登录

     

    这里的前提是,每个客户端拥有各自不同的 session

    ######如何做到在一个浏览器修改密码,seesion过期######这种操作有想过,但是会引出一个问题,就是其他的用户会在同一时段同时请求用户表的查询操作...######

    不同的浏览器之间做session共享...这就有点牛逼了...

    ######最靠谱的办法就是Jfinal说的那样,登录的时候把用户和session映射存起来,修改密码的时候,把其他session给过期就行了,不同的浏览器的session管理机制都不一样,而且在网页代码中,不开发浏览器插件的情况下是无法去改变这些东西的,通常意义的单点登录,是在本地安装有对应的客户端程序才能实现的,纯网页是实现不了的
    2020-06-06 14:56:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
WEB浏览器中即将发生的安全变化 立即下载
基于浏览器的实时构建探索之路 立即下载
基于浏览器的实时构建探索之路--玄寂 立即下载