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 ...
随机推荐
- 【FireMonkey】StyleBook使用方法
近期在开发一个团队文档管理工具,使用Embarcadero的XE2-C++builder进行界面开发,使用Firemonkey框架. 而这个框架十分有趣!可能吸引界面开发者的就是这个StyleBook ...
- MFC【17-3】线程和线程同步化
17.3小知识点 17.3.1消息泵 编写一个应用程序,让它响应某菜单命令,画几千个椭圆. void CMFC线程View::OnStartDrawing(void) { m_bQuit=FALSE; ...
- http://www.linuxidc.com/Linux/2016-04/129738.htm
http://www.linuxidc.com/Linux/2016-04/129738.htm
- springMVC 头像裁剪上传并等比压
第一次写头像裁剪上传,原本想着直接本地预览裁剪再上传,可是时间有限,jquery.jcrop貌似并没有对 假设是ie下图片预览效果是滤镜做的 做出对应处理,也没有时间去改;仅仅好将就一下先把图片上传 ...
- Tomcat启动报错:java.net.BindException: Cannot assign requested address: JVM_Bind
Tomcat启动报错:java.net.BindException: Cannot assign requested address: JVM_Bind Tomcat Cannot assign re ...
- iOS 使用NSUserdefault 保存自定义的 对象
一:NSUserDefaults支持的数据格式有:NSNumber(Integer.Float.Double),NSString,NSData,NSArray,NSDictionary,BOOL类型: ...
- [Swift A] - HTTP请求
iOS开发中大部分App的网络数据交换是基于HTTP协议的.本文将简单介绍在Swift中使用HTTP进行网络请求的几种方法. 注意:网络请求完成后会获得一个NSData类型的返回数据,如果数据格式为J ...
- php抽象类和接口的异同【转】
1. 相同点: (1) 两者都是抽象类,都不能实例化. (2) interface 实现类及 abstract class 的子类都必须要实现已经声明的抽象方法. 2. 不同点: ...
- OTU_Network&calc_otu
# -*- coding: utf-8 -*- # __author__ = 'JieYap' from biocluster.agent import Agent from biocluster.t ...
- jquery 实现菜单的下拉菜单
实现效果如图: 源码: 到此下载