java实现单一登录 踢人效果
1、建一个session监听类
public class SessionListener implements HttpSessionListener{public static HashMap sessionMap = new HashMap();public void sessionCreated(HttpSessionEvent hse) {HttpSession session = hse.getSession();}public void sessionDestroyed(HttpSessionEvent hse) {HttpSession session = hse.getSession();this.DelSession(session);}public static synchronized void DelSession(HttpSession session) {if (session != null) {// 删除单一登录中记录的变量if(session.getAttribute("users")!=null){TblUser tu =(TblUser)session.getAttribute("users");SessionListener.sessionMap.remove(tu.getUserID()); }}}}
2、登录调用的方法
public ResultObject updateUserLoginAjax(HttpSession session ,String uname,String upwd )throws Exception{//用户名及密码的判断省略// 1.实现单一登录 踢人效果if ( null != SessionListener.sessionMap.get(tu.getUserID())) { //第一次登录的用户session销毁//将第一次登录用户的信息从map中移除BaseAction.forceLogoutUser(tu.getUserID());//本次登录用户添加到map中 SessionListener.sessionMap.put(tu.getUserID(), session); } else{ //以用户id为key键存入map中,以判断下一次登录的人SessionListener.sessionMap.put(tu.getUserID(), session);}
}
3、2步骤中BaseAction中调用的forceLogoutUser()的方法
/**** @author * @params uid 要强行退出的用户的ID* @return* @description 通过用户ID来强行把已经在线的用户的登录信息*/@SuppressWarnings("unchecked")public static void forceLogoutUser(Long uid) {// 删除单一登录中记录的变量if (SessionListener.sessionMap.get(uid) != null) {HttpSession hs = (HttpSession) SessionListener.sessionMap.get(uid);SessionListener.sessionMap.remove(uid);Enumeration e = hs.getAttributeNames();while (e.hasMoreElements()) {String sessionName = (String) e.nextElement();// 清空sessionhs.removeAttribute(sessionName);}// hs.invalidate();}}
java实现单一登录 踢人效果相关推荐
- java单一登录_java实现单一登录 踢人效果
1.建一个session监听类 public class SessionListener implements HttpSessionListener{ public static HashMap s ...
- 单一用户登录,即当前用户登录后要踢出前一个登录,即做出踢人效果,如何实现?
单一用户登录,即当前用户登录后要踢出前一个登录,即做出踢人效果,如何实现? 一般情况下,用户登录,有两种方式:cookie方式,session方式.一般情况下,session方式是使用最多的. 一.关 ...
- java仿qq登录 界面设计,Java Swing仿QQ登录界面效果
本文实例为大家分享了Java Swing仿QQ登录界面展示的具体代码,供大家参考,具体内容如下 闲来无事将早些时候已实现的QQ登录界面再实现了一遍,纯手工打造(意思是没有用NetBeans.MyEcl ...
- java单终端登陆_配置终端服务单一登录
配置终端服务单一登录 配置终端服务单一登录 单一登录是一种身份验证方法,允许具有域帐户的用户使用密码或智能卡登录一次,然后,不再要求其提供凭据即可访问远程服务器. 若要在终端服务中实现单一登录功能,请 ...
- java heroku_使用Spring Boot和Heroku在20分钟内完成Java的单点登录
java heroku 建筑物身份管理,包括身份验证和授权? 尝试Stormpath! 我们的REST API和强大的Java SDK支持可以消除您的安全风险,并且可以在几分钟内实现. 注册 ,再也不 ...
- java ee用户登录_EE Servlet 3:使用会话和过滤器开发用户登录
java ee用户登录 我在上一篇文章中介绍了Application类,您可以在其中设置后端服务. 我添加的一个示例服务是UserService . 该服务将加载包含用户名和密码集的Java用户属性文 ...
- 使用Spring Boot和Heroku在20分钟内完成Java的单点登录
建筑物身份管理,包括身份验证和授权? 尝试Stormpath! 我们的REST API和强大的Java SDK支持可以消除您的安全风险,并且可以在几分钟内实现. 注册 ,再也不会建立auth了! 大规 ...
- openid saml2_单一登录云:SAML和OpenId
openid saml2 当访问不同组织拥有的不同应用程序时,每次从一个应用程序转到另一个应用程序时都必须进行身份验证. 这不仅耗时,而且您还必须记住多个经常丢失的密码. 单一登录是一次认证的能力,并 ...
- 单一登录云:SAML和OpenId
当访问不同组织拥有的不同应用程序时,每次从一个应用程序转到另一个应用程序时都必须进行身份验证. 不仅浪费时间,而且您还必须记住多个经常丢失的密码. 单一登录是一次认证的能力,并且能够使用已认证的身份在 ...
最新文章
- 区块链100讲:智能合约审计指南
- linux常见操作命令及相关延伸
- 2021CCPC河北省省赛F题(河南省CCPC测试赛重现)
- pytorch dropout_PyTorch初探MNIST数据集
- 领航智变时代 2020 NAVIGATE领航者峰会云上起航
- 9-3 数据分布概论
- php林大飞,和大飞签约
- 登陆页面✧樱花3D翻转
- LineRenderer画虚线
- 基于com的delphi和matlab接口编程研究,基于COM组件的VB与MATLAB接口编程(续)
- 计算神经科学简介~【整理自】类脑计算背后的计算神经科学框架
- 开发一个 app 有多难?需要多少钱?
- 团队管理:新业务团队如何结合绩效来度量开发目标
- 旧款华为笔记本解锁智慧语音教程
- 安装CentOS7出现dracut-initqueue timeout的解决办法
- Kitty用HTML和css咋做,使用CSS3代码绘制可爱的Hello Kitty猫
- 备忘录 | 阅读而已,用得着这么认真么?
- Andriod Studio小游戏
- 坐标系统与投影变换及在ARCGIS中的应用
- 电脑连接2根网线同时上内网和外网