mdsk.net
当前位置:首页 >> jAvA 只允许一个用户登录,不能重复登录. >>

jAvA 只允许一个用户登录,不能重复登录.

那你数据库要多做一个状态确认喔!!! 然後还要一直更新那个状态才能确认到保持只有一位, 登入使用者在线上。

如果你想让后来的登录者把前一个登录者踢下线,则需要存储session ID,用户名可以存在数据库,也可以使用保存在session里的那个。当新用户登陆的时候,搜索这个用户名是否已登录,如果是,则找到相应session ID,把它invalidate,然后再把新的se...

1楼的方法是对的但实现起来会有很多问题,踢掉前一次登录反而最简单,如下代码: 1、添加两个监听器类: public class MySessionAttributeListener implements HttpSessionAttributeListener { public static Map sessionMap=new ConcurrentHash...

大概是这样的 在你的登陆action中 execute(){ User user=validLogin(String username,String password);//验证用户,为真返回用户 ActionContext().getContext().getSession().put("user",user);//把user放到session中 return SUCCESS; }...

ActionContext.getContext().getSession().put("user", users); 应该是这样的,一台电脑上,只能一个用户登录,第二个登录则自动覆盖第一个。如果放在服务器上,这样写也不会有任何问题

可以实现的方式很多. 说一个简单的方案,思路如下 比如给数据库添加1个字段. 比如字段名为 online . 值默认为false 当账号A连接服务器, 登陆后 . 把A的onlie字段设置为true ,如果账号A和服务器断开连接 , 那么把online字段设置为false. 那么每次...

现在有两种解决方案: 1、将用户的登录信息用一个标志位的字段保存起来,每次登录成功就标记1,注销登录就标记为0,当标记为1的时候不允许别人登录。 2、将用户的登录信息保存在application内置作用域内, 然后利用session监听器监听每一个登录...

可以将用户信息存储在ServletContext中,在次登录的时候检查,ServletContext中是否有指定用户。当然这个是容器自带的上下文。你也可以自己写一个用户管理容器每个用户需要一个唯一的标识。

最简单的做法: 你可以在数据库表中增加一个字段,loginStatus(命名就随便了)就设置2个值把 1和2(随便什么都行)一个用户登录的时候,如果loginStatus的值是1,则将其更改为2 如果是2,则更改为1这时候,将更改后的值存储在session中,则每次...

登录之后,更具用户名,密码,登录时间等用某种算法生成唯一不可破译的编码字符串token(每次登录不同),设置唯一,以后的任何操作都用这个token进行验证。这样每次能保证有且只有一个用户

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com