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

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

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

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

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

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

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

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

阅读更多
个人分类: java
上一篇java连接sybase数据库中文乱码问题
下一篇jsp访问url路径隐藏
想对作者说点什么? 我来说一句

防止重复登录

2018年01月29日 937KB 下载

没有更多推荐了,返回首页

关闭
关闭