Java 如何控制用户重复登陆

2024-11-17 03:29:52
推荐回答(1个)
回答(1):

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

第一个方法需要在用户进行任何操作的时候即时更新数据库里用户的时间,然后用一个cron job检查这个用户名存在是不是超过了设定的时间,然后决定是否把这个用户删除。(如果把session ID也存上就简单多了)

第二个方法只要用cron job定期检查每个session是否还活着就可以了,如果session已死,就把数据库里相应记录删除