web网页——用户登录防止重复登录,同一账号后者登录前者被强制退出。

最近在研究网站的开发,其中遇到一个问题就是同一账号重复登录。要求是同一账号只能一个地方登录,重复登录时后者挤掉前者,前者提示被强制退出。根据这一需求我在网上搜了很多资料,参考许多前辈的总结,最终自己研究出来一个版本,我采用的获取sessionId,以sessionId识别是否为重复登录。

1.在用户表加一列或单独建一张关联表,用于记录当前登录的sessionId,每次登录这一列值都要做修改。

2.用户登录,加一个拦截器filter,拦截器的作用是页面操作前判断是否重复登录。

首先根据输入的用户名和密码做验证,通过验证查询用户信息。在用户信息不为空的前提下,比较表中的sessionid和浏览器session获取的getId(),判断两个值是否一致,若一致,则通过 正常走流程,若不一致,则返回登录页面,session设置msg,提示“账户失效或异地登录”;

3.登录成功后,修改用户表的sessionId值为当前浏览器session获取的getId()。

这样每次登录都会通过filter对用户的用户名、密码以及sessionId做验证,一旦有问题就返回登录页面,提示相关问题,否则成功即记录sessionId,以便下回验证。

以上是我关于账号重复登录问题的总结。

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值