mdsk.net
当前位置:首页 >> jAvA如何实现重复登录强制下线功能 >>

jAvA如何实现重复登录强制下线功能

只有思路,没有demo第一:绑定ip地址第二:每个账号登录记录一条数据,并设置标识符,是否登录的标识符第三:判断账号的登录状态大于1就强制最新的以外的所有登录的下线

用一个静态的数组来存储当前已登录用户的信息,登录前判断是否已经登录过.

用cookie可以实现,登录成功后记录用户名密码到cookie中,再次打开页面判断用户名密码是否存在在cookie中,如果有直接自动登录

你已经实现了下线功能,只不过是没有进行提示罢了!但要下线就需要几个处理逻辑1. 当用户改变权限,得要知道,是用户的权限已经改变,所以这个需要记录在session 中,或者记录在临时的内存中比如:static 的Map中,进行标识2. 销毁session ,和你前边说的一样,重新登录必须把session 销毁.3. 进行判断,如果是是权限改变的,则需要进行提示,有别于过期,然后在登录界面中,进行展示,就这么简单!希望采纳.

请参考java.util.timer的文档 public class timer extends object 一种线程设施,用于安排以后在后台线程中执行的任务.可安排任务执行一次,或者定期重复执行.此类的实例可以实现在指定的时间或延时后开始指定速率(周期)的重复执行 是用

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

需要session监听, 并将所有登录用户的信息存放在LIst中(单例)当用户退出或session失效时, 将List中用户的信息移除,新用户登录时判断List中是否已经存在相同的用户, 如果存在则不能登录, 不存在则登录成功, 并将用户信息保存在List中用户信息可以是唯一标识用户的ID、 用户名、 或用户对象ps:一般情况是将较早登录的强制下线

这个,session存储登录信息,是有过期时间的默认是30分钟吧,你可以做在登录的时候进行一个session用户判断就可以解决重复登录问题,注销时,将session中用户清除,关闭浏览器一般不用做处理的.

session状态控制啊..如果有session值一样的,就清除上一个session,然后建立新的session.再清除session前,返回一句“重复登录,被迫下线”

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

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