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实现单一登录 踢人效果相关推荐

  1. java单一登录_java实现单一登录 踢人效果

    1.建一个session监听类 public class SessionListener implements HttpSessionListener{ public static HashMap s ...

  2. 单一用户登录,即当前用户登录后要踢出前一个登录,即做出踢人效果,如何实现?

    单一用户登录,即当前用户登录后要踢出前一个登录,即做出踢人效果,如何实现? 一般情况下,用户登录,有两种方式:cookie方式,session方式.一般情况下,session方式是使用最多的. 一.关 ...

  3. java仿qq登录 界面设计,Java Swing仿QQ登录界面效果

    本文实例为大家分享了Java Swing仿QQ登录界面展示的具体代码,供大家参考,具体内容如下 闲来无事将早些时候已实现的QQ登录界面再实现了一遍,纯手工打造(意思是没有用NetBeans.MyEcl ...

  4. java单终端登陆_配置终端服务单一登录

    配置终端服务单一登录 配置终端服务单一登录 单一登录是一种身份验证方法,允许具有域帐户的用户使用密码或智能卡登录一次,然后,不再要求其提供凭据即可访问远程服务器. 若要在终端服务中实现单一登录功能,请 ...

  5. java heroku_使用Spring Boot和Heroku在20分钟内完成Java的单点登录

    java heroku 建筑物身份管理,包括身份验证和授权? 尝试Stormpath! 我们的REST API和强大的Java SDK支持可以消除您的安全风险,并且可以在几分钟内实现. 注册 ,再也不 ...

  6. java ee用户登录_EE Servlet 3:使用会话和过滤器开发用户登录

    java ee用户登录 我在上一篇文章中介绍了Application类,您可以在其中设置后端服务. 我添加的一个示例服务是UserService . 该服务将加载包含用户名和密码集的Java用户属性文 ...

  7. 使用Spring Boot和Heroku在20分钟内完成Java的单点登录

    建筑物身份管理,包括身份验证和授权? 尝试Stormpath! 我们的REST API和强大的Java SDK支持可以消除您的安全风险,并且可以在几分钟内实现. 注册 ,再也不会建立auth了! 大规 ...

  8. openid saml2_单一登录云:SAML和OpenId

    openid saml2 当访问不同组织拥有的不同应用程序时,每次从一个应用程序转到另一个应用程序时都必须进行身份验证. 这不仅耗时,而且您还必须记住多个经常丢失的密码. 单一登录是一次认证的能力,并 ...

  9. 单一登录云:SAML和OpenId

    当访问不同组织拥有的不同应用程序时,每次从一个应用程序转到另一个应用程序时都必须进行身份验证. 不仅浪费时间,而且您还必须记住多个经常丢失的密码. 单一登录是一次认证的能力,并且能够使用已认证的身份在 ...

最新文章

  1. 区块链100讲:智能合约审计指南
  2. linux常见操作命令及相关延伸
  3. 2021CCPC河北省省赛F题(河南省CCPC测试赛重现)
  4. pytorch dropout_PyTorch初探MNIST数据集
  5. 领航智变时代 2020 NAVIGATE领航者峰会云上起航
  6. 9-3 数据分布概论
  7. php林大飞,和大飞签约
  8. 登陆页面✧樱花3D翻转
  9. LineRenderer画虚线
  10. 基于com的delphi和matlab接口编程研究,基于COM组件的VB与MATLAB接口编程(续)
  11. 计算神经科学简介~【整理自】类脑计算背后的计算神经科学框架
  12. 开发一个 app 有多难?需要多少钱?
  13. 团队管理:新业务团队如何结合绩效来度量开发目标
  14. 旧款华为笔记本解锁智慧语音教程
  15. 安装CentOS7出现dracut-initqueue timeout的解决办法
  16. Kitty用HTML和css咋做,使用CSS3代码绘制可爱的Hello Kitty猫
  17. 备忘录 | 阅读而已,用得着这么认真么?
  18. Andriod Studio小游戏
  19. 坐标系统与投影变换及在ARCGIS中的应用
  20. 电脑连接2根网线同时上内网和外网

热门文章

  1. html图片自动滚动播放器,jQuery+css实现图片滚动效果(附源码)
  2. 我想给宝宝开发育儿软件
  3. 海思Hi3136芯片怎么样?Hi3136处理器参数介绍
  4. 产品设计 【网站转化率与漏斗模型】
  5. Jmeter读取excel表格数据响应数据乱码
  6. 池化方法总结(Pooling) 和卷积 。 第三部分讲的很好
  7. Amdahl定律(阿姆达尔定律)
  8. jenkins部署微服务项目
  9. 适合零基础学习者的Java学习路线图到底长啥样?一篇文章带你学会Java
  10. 桌面计算机 回收站图标,桌面回收站图标不见了怎么解决【图文】