求:java web 实现禁止用户多点登录。 请教一下,如何用java web实现禁止用户多处登陆??即一个用户同时只能在一点登录 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1,登陆的时候修改数据库里的一个值2,为每个用户名建个application~(不确定这个行不行,反正我觉得肯定不好) 就是在数据库中用户表中多加一个用户在线状态的字段,每次登录的时候查询条件加上这个条件判断用户是否已经登录,如果已经登录就不让登录了;还有就是这样的话,如果出现意外关闭浏览器的时候,这就需要考虑到把登录状态改成离线的问题,这需要设置一下配置文件中session失效时间,使用监听器监听session失效时调用修改状态的方法就OK了! 楼上说的就是我所提这个问题的初衷,就是在想,记录在表中,判断是很好解决,但是当用户由于异常,或其他原因直接关闭浏览器,将如何追踪呢,就算你是配置了session的实效时间,那么当用户异常关闭后,启不是无法登录?? 请赐教 登陆时判断session是否有此用户,有的话就是有人登录此用户帐号,那就调用session.removeAttribute("用户帐号"),然后再把用户再次放进session就好了。(关键是登录要把用户放到session。这样才能判断) 先判断一下是否登录了1.session判断2.数据库多加个标志位可能还有其它办法 最简单是数据库加个字段来判断csdn 个人觉得,建立一个Session监听器,判断Session中已存的用户是否与登录的冲突,而后在给出相关的提示。 单点登录有框架实现的。Web SSO 可以做到。http://blog.csdn.net/javachannel/archive/2006/05/24/752437.aspx 我觉得应该像QQ一样,后登陆的人可以登录,但前面登录的就失效了。这样比较合理些。像上面的人所说,后登陆的人判断,这个账号是否在线,再判断是否能登陆,这样设计虽然简单很多,但是绝对不合理。而且如果用session判断的话,那你断下电,再重启电脑后,还登不进去。 把登陆 用户的信息都保存在 APPLICATION里面啊! 然后上来一个用户 就看看 APPLICATON里面有没有这个用户就行了啊 觉得此方法可行。浏览器关闭了,基本上session也消失了。 或者就是用session来控制 很多都说放到session里,这个是非常忌讳的吧,这么多东西往session里塞。BS跟CS还是有区别的,CS能做到,BS想做到这么强大,不知道会有什么方法。说的都有道理,但是如果用户是非法退出(直接关浏览器)session就不会立马失效,session或数据库里的标识又这么及时清除呢?又问:如何知道用户是非常规退出的呢? 请赐教! spring与struts无法关联 小弟刚学extjs,这段代码看不懂,请各位高手帮忙解释一下,谢谢 春节过后想到杭州工作的或杭州有想换工作的看过来。 httpclient问题 [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]列 'users.m_no' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GRO 怎样将动态页面转成静态的 如何获得操作系统的环境变量? 网页线条是如何做的 Strust 操作数据库问题? Session的一个操作控制的问题 问:是否一个项目中只能有一个侦听器 ? s:radio name问题
2,为每个用户名建个application~(不确定这个行不行,反正我觉得肯定不好)
还有就是这样的话,如果出现意外关闭浏览器的时候,这就需要考虑到把登录状态改成离线的问题,这需要设置一下配置文件中session失效时间,使用监听器监听session失效时调用修改状态的方法就OK了!
2.数据库多加个标志位可能还有其它办法
csdn
像上面的人所说,后登陆的人判断,这个账号是否在线,再判断是否能登陆,这样设计虽然简单很多,但是绝对不合理。而且如果用session判断的话,那你断下电,再重启电脑后,还登不进去。
觉得此方法可行。浏览器关闭了,基本上session也消失了。
或者就是用session来控制
很多都说放到session里,这个是非常忌讳的吧,这么多东西往session里塞。BS跟CS还是有区别的,CS能做到,BS想做到这么强大,不知道会有什么方法。说的都有道理,但是如果用户是非法退出(直接关浏览器)session就不会立马失效,session或数据库里的标识又这么及时清除呢?又问:如何知道用户是非常规退出的呢? 请赐教!