java web用户重复登录问题 20
当你在一台电脑上登录了账号,然后又在另外一台电脑上登录(同一个账号),就立马提示前一台账号下线通知,就和QQ等下线通知一样,求解,急急急!!!...
当你在一台电脑上登录了账号,然后又在另外一台电脑上登录(同一个账号),就立马提示前一台账号下线通知,就和QQ等下线通知一样,求解,急急急!!!
展开
3个回答
展开全部
最简单的做法:
你可以在数据库表中增加一个字段,loginStatus(命名就随便了)就设置2个值把 1和2(随便什么都行)一个用户登录的时候,如果loginStatus的值是1,则将其更改为2 如果是2,则更改为1这时候,将更改后的值存储在session中,则每次进行有关用户操作的时候, 都去表中查看loginStatus的值跟你session中的值是否相同如果不相同,则将session存储的用户信息remove掉你会很奇怪,为什么会不同,很简单:如果此时,另外一个人登录的时候,走的是相同的业务逻辑,这时候会把loginStatus的值更改。则前一个登录的人session中存储的loginStatus当然就不一样了
你可以在数据库表中增加一个字段,loginStatus(命名就随便了)就设置2个值把 1和2(随便什么都行)一个用户登录的时候,如果loginStatus的值是1,则将其更改为2 如果是2,则更改为1这时候,将更改后的值存储在session中,则每次进行有关用户操作的时候, 都去表中查看loginStatus的值跟你session中的值是否相同如果不相同,则将session存储的用户信息remove掉你会很奇怪,为什么会不同,很简单:如果此时,另外一个人登录的时候,走的是相同的业务逻辑,这时候会把loginStatus的值更改。则前一个登录的人session中存储的loginStatus当然就不一样了
展开全部
将用户的登录信息保存在application内置作用域内, 然后利用session监听器监听每一个登录用户的登录情况。
http://blog.csdn.net/chenghui0317/article/details/9373345
http://blog.csdn.net/chenghui0317/article/details/9373345
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-04-01
展开全部
session状态控制啊。。如果有session值一样的,就清除上一个session,然后建立新的session。再清除session前,返回一句“重复登录,被迫下线”
更多追问追答
追问
java不是很熟,请问在action中怎么立马提示了??
追答
struts的拦截器可以实现,,,servlet 的filter也可以实现。。立马提示的。。不懂你的意思。
防止重复登录:就是在服务器端传一个id,然后通过这个id保持连接,等这个id再次登录时,就可以给前面那个链接返回“重复登录”,然后和后面这次登录的id做连接。
刚刚说错了,,,如果是不同的机器,你用application级别的缓存去存id。保持连接。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询