session用户账号认证(一个用户登陆,踢出前一个用户)
在web.xml中配置:
<listener>
<listener-class>cn.edu.hbcf.common.listener.SessionAttributeListener</listener-class>
</listener>
然后写一个实体类:
package cn.edu.hbcf.common.listener; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent; import cn.edu.hbcf.common.constants.WebConstants;
import cn.edu.hbcf.privilege.pojo.BaseUsers; public class SessionAttributeListener implements HttpSessionAttributeListener { public static Map<String, HttpSession> sessionMap=new ConcurrentHashMap<String, HttpSession>();
@Override
public void attributeAdded(HttpSessionBindingEvent arg0) {
if(arg0.getName().equals(WebConstants.CURRENT_USER)){
// Enumeration session = arg0.getSession().getServletContext().getAttributeNames();
HttpSession session = arg0.getSession();
// ServletContext application = session.getServletContext();
BaseUsers user = (BaseUsers)session.getAttribute(WebConstants.CURRENT_USER);
if(sessionMap.containsKey(user.getAccount())){//踢掉前一次登录
try {
HttpSession session2=sessionMap.remove(user.getAccount());
session2.invalidate();
} catch (Exception e) {
}
// application.removeAttribute(user.getAccount());
}
sessionMap.put(user.getAccount(), session);
// application.setAttribute(user.getAccount(), user);
} }
@Override
public void attributeRemoved(HttpSessionBindingEvent arg0) {
}
@Override
public void attributeReplaced(HttpSessionBindingEvent se) {
// TODO Auto-generated method stub } }
session用户账号认证(一个用户登陆,踢出前一个用户)的更多相关文章
- linux查看在线用户并踢出用户
linux查看在线用户并踢出用户 1.查看在线用户 w [root@dbserver01 ~]# w 16:45:04 up 16 days, 8:48, 1 user, load average: ...
- Linux系统下查看已经登录用户并踢出的方法
LINUX是个多用户系统,一旦连接到网络中,它可以同时为多个登录用户提供服务. 查看用户的操作 查看当前用户: [ROOT@LOCALHOST ROOT] # W ...
- shiro利用过期时间,解决用户冻结踢出问题
背景 shiro中需要冻结某个用户,但是此时此刻这个用户在线,如果冻结只是改变状态的话,只会导致用户不满,所以要改变这个办法. 在查找过程中发现都是告诉shiro写自定义过滤器,那么我如果自定义过滤器 ...
- CentOS查看登录用户以及踢出用户
查看登录用户,使用w命令 [root@lnmp ~]# w 18:51:18 up 35 min, 2 users, load average: 0.00, 0.00, 0.00 USER ...
- Linux查看当前登录用户并踢出用户
1.查看当前登录用户 [wilsh@lcl ~]$ whatis w w (1) - Show who is logged on and what they a ...
- Linux强制踢出登录用户(断线账户剔除)
首先,用w查看登录用户 :: up days, :, users, load average: 1.00, 1.01, 1.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU ...
- 【转载】Linux踢出其他正在SSH登陆用户
Linux踢出其他正在SSH登陆用户 在一些生产平台或者做安全审计的时候往往看到一大堆的用户SSH连接到同一台服务器,或者连接后没有正常关闭进程还驻留在系统内.限制SSH连接数与手动断开空闲连 ...
- 踢出某正在访问的用户||永久禁止某IP访问
转至:https://blog.csdn.net/weixin_34408717/article/details/85527305?utm_medium=distribute.pc_aggpage_s ...
- shiro实现用户踢出功能
shiro实现用户踢出功能 KickoutSessionControlFilte import java.io.IOException; import java.io.PrintWriter; imp ...
随机推荐
- PHP之is_a()函数执行代码之总结
今天看到云舒在群里贴的漏洞公告,原始的文章在 http://www.byte.nl/blog/2011/09/23/security-bug-in-is_a-function-in-php-5-3-7 ...
- piwik网站访问统计系统
一.Piwik介绍 Piwik是一套基于PHP+MySQL技术构建的开源网站访问统计系统.Piwik可以给你详细的统计信息,比如网页浏览人数,访问最多的页面,搜索引擎关键词等流量分析功能.此外,它还采 ...
- 高性能WEB开发:Javascript自身执行效率
Javascript中的作用域链.闭包.原型继承.eval等特性,在提供各种神奇功能的同时也带来了各种效率问题,用之不慎就会导致执行效率低下. 1.全局导入 我们在编码过程中多多少少会使用到一些全局变 ...
- LeetCode56:Jump Game
Given an array of non-negative integers, you are initially positioned at the first index of the arra ...
- urllib库在python2和python3环境下的使用区别
好东西啊!!! Python 2 name Python 3 name urllib.urlretrieve() urllib.request.urlretrieve() urllib.urlclea ...
- 解决 java.lang.ClassNotFoundException配置文件出错的问题
出现的原因: 1.jar包没有导入 2.jar包有冲突 3.jar包没有同步发布到自己项目的lib目录中 解决方案: maven构建工程的方式:项目点击右键 点击 Properties 选择Deplo ...
- Short与Integer互转
int 是4字节, short 是2字节的, 如果将int(Integer)转成short(Short), 那么必须强制转换,否则会报编译异常. 但是, 当int(Integer)是一个final时, ...
- Web.xml 错误或异常页面配置
<error-page> <error-code>404</error-code> <location>/ ...
- $(document).ready()方法和window.onload()方法
$(document).ready()方法和window.onload()方法 $(document).ready()方法是JQuery中的方法,他在DOM完全就需时就可以被调用,不必等待这些元素关联 ...
- 【转】Spring的中IoC及AOP
1. Spring介绍 Spring是轻量级的J2EE应用程序框架.Spring的核心是个轻量级容器(container),实现了IoC(Inversion of Control)模式的容器,Spri ...