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

原创 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"));
 }
    

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Populating Next Right Pointers in Each Node

题目地址:https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node/;

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

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

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

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

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

spring security3教程系列--如何踢出用户 [plain] view plain copy 本文章摘编、转载需要注明来源 http...

spring security3 实现踢出在线用户

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

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

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

apache shiro踢出用户和获取所有在线用户

apache shiro踢出用户: 产品要求用户只能在同一个地方登录,如果之前在其他机器或者浏览器上登录,讲之前登录帐号踢出。applicationContext-shiro.xml配置: 在默...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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