如何禁止用户重复登录
nicelife 发布于23月前 3答/943阅

我的原始需求是:防止用户重复登录


实现过程中遇到的问题:是否需要修改覆盖原生的登录方法


我觉得这个问题的原因是:



[沙发] Jieven
@nicelife 是的 得在 IndexCtrl 中 重写 doLogin方法, 添加 重复登录的判断逻辑. 
[地板] nicelife
嗯,本来是重写了doLogin方法的,限制用户重复登录的功能达到了,但是项目却出了BUG,登陆后无法加载页面,后来改了改写了一个全局的拦截器,还是会出现登陆后无法加载首页的问题
用户的登录标记我使用reids存储的,然后就频繁调用了Redis.user().getJedis(),当我使用一个单例的工具类调用这个方法后,项目就运行正常了
本人技术有限,到底也没想通是什么原因,这里说出来希望大家注意
[地毯] Jieven
@nicelife 暂时 还不能通过分布式会话 保存session , 必须通过Http Session来完成, 必须 全局替换 Session预, 只修改入口处, 其它地方取值 还是从 HTTPSession 中 取的所以会导致 后续页面无登录状态.

实现重复登录判断, 只需要 维护一个比如 application 域 或者 redis list 来记录和判断重复登录UID即可!
不需要改变原有登录逻辑!
提交评论
嘿,我来帮你!