单用户登陆,踢出前一个同名用户

原创 2007年09月26日 16:24:00

*******在web.xm中做session过期时间设置************
<session-config>
  <session-timeout>15</session-timeout>
 </session-config>
 

******************LogonAction.java******************************
ActionServlet servlet = this.getServlet();         
HttpSession session = request.getSession();
ServletContext servletContext = servlet.getServletContext();
HttpSession oldSession = (HttpSession) servletContext.getAttribute(loginId);
boolean isFirstLogin = (oldSession == null);
boolean isSameLogin = (oldSession != null) && oldSession.getId().equals(session.getId());      
if (isFirstLogin || !isSameLogin) {
             servletContext.setAttribute(loginId, session);
}

******************在其他需要验证的action中加入一下代码*****************
ActionServlet servlet = this.getServlet();
ServletContext servletContext = servlet.getServletContext();
HttpSession oldSession = (HttpSession) servletContext.getAttribute(loginId);    
if(session.getAttribute(Constants.CURRENT_USER)==null){
   session.setAttribute("message", "timeout");
   return mapping.findForward("timeoutfail");
}
if (oldSession != null&&!(oldSession.getId().equals(session.getId())))  {  
       request.getSession().invalidate();
      return (mapping.findForward("failoldsession"));
 }
    

 

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

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

spring security3教程系列--如何踢出用户

本文章摘编、转载需要注明来源 http://write.blog.csdn.net/postedit/8572467 对于spring security我个人是比较喜欢的一个安全框架,我们的...

spring security3 实现踢出在线用户

在spring security中有个 SessionRegistryImpl 的类,实现了 SessionRegistry 接口,这个实现类里有session的具体信息。 我实现踢出功能用户功能就是...

Asp.Net制作聊天室(显示在线用户列表,禁止发言,允许发言,踢出聊天室,退出聊天室)

最近做一个项目,需要一个聊天室所以就做了,因为是第一次做,而且也不清楚别人聊天室是怎么做的,只能闭门造车了,憋了一周多才做出来,而且还有很多地方不太完美。在此贴出来,希望大家多多指点。聊天室的基本效果...

java session HttpSessionListener、HttpSessionBindingListener使用区别,实现在线人数统计以及踢出用户

java web项目中管理session的时候,除了在web.xml文件中设置过时时间 2 xxx分钟,还可以通过HttpSessionListener接口或HttpSessionBindi...

统计在线用户数以及同账号登录踢出另一用户

参考博客:http://blog.csdn.net/licheng989/article/details/51579979 思路:写一个session属性监听器(SessionListener),实现...

Linux系统下查看已经登录用户并踢出的方法

LINUX是个多用户系统,一旦连接到网络中,它可以同时为多个登录用户提供服务。系统管理员可以随时了解系统中有那些用户,用户都在进行什么操作。 查看用户的操作 系统管理员若想知道某一时刻用户的行为,只需...

统计在线用户数以及同账号登录踢出另一用户

写一个session属性监听器:定义两个map,一个存session,以用户编号为key;一个存用户信息,也以用户编号为key.map的个数就是在线用户数.每个用户登录时,先检查map中是否存在,如果...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:单用户登陆,踢出前一个同名用户
举报原因:
原因补充:

(最多只允许输入30个字)