java 单点登录
来源:互联网 发布:redis 查询当前数据库 编辑:程序博客网 时间:2024/06/02 05:29
java 单点登录
LoginListenner类
/** * * @ClassName: LoginListenner * @Description: 登录监听类-处理同一时间只允许账号,单地点登录 * @date 2017年3月30日13:19:19 * */public class LoginListenner implements HttpSessionAttributeListener { /** * 用于存放账号和session对应关系的map */ private Map<String, HttpSession> map = new HashMap<String, HttpSession>(); /** * 当向session中放入数据触发 */ @Override public void attributeAdded(HttpSessionBindingEvent event) { String name = event.getName(); if (name.equals("singleUser")) { User user = (User) event.getValue(); if (map.get(user.getName()) != null) { HttpSession session = map.get(user.getName()); session.removeAttribute(user.getName()); session.invalidate(); } map.put(user.getName(), event.getSession()); } } /** * 当向session中移除数据触发 */ @Override public void attributeRemoved(HttpSessionBindingEvent event) { String name = event.getName(); if (name.equals("singleUser")) { User user = (User) event.getValue(); map.remove(user.getName()); } } @Override public void attributeReplaced(HttpSessionBindingEvent event) { } public Map<String, HttpSession> getMap() { return map; } public void setMap(Map<String, HttpSession> map) { this.map = map; }}
web.xml文件
<listener> <listener-class> cn.com.admin.test.listenner.LoginListenner</listener-class> </listener>
登录请求方法需要修改的地方:
//把用户对象放入到session中,将会触发LoginListenner中的attributeAdded事件request.getSession().setAttribute("singleUser", user);
阅读全文
0 0
- java实现单点登录
- Java单点登录
- Java单点登录
- java实现单点登录
- java之单点登录
- java web 单点登录
- java的单点登录
- java实现单点登录
- java实现单点登录
- Java单点登录
- java之单点登录
- java实现单点登录
- Java实现单点登录
- java 简单单点登录
- Java实现单点登录
- JAVA实现单点登录
- Java Web 单点登录
- Java项目单点登录
- 【转】SAP中的FTP操作样例
- pt-table-sync
- Swift 中的 Optionals 可选值的介绍和使用
- dedecms织梦列表页内容页栏目高亮和当前栏目调用二级三级栏目
- java数据结构与算法-2-3-4树
- java 单点登录
- LeetCode.52 Maximum Subarray
- 5-7 使用函数求余弦函数的近似值
- angularjs自定义指令的隔离域问题--转载
- 实用插件(六)手机日历插件——LCalendar
- Git 查看stash的相关记录时间
- 测试脚本的编写
- 欧拉公式(待续)
- 查看Linux版本信息