如何基于spring security实现在线用户统计
1.修改web.xml,需要在web.xml描述文件中配置中使得o.s.s.web.session.HttpSessionEventPublisher生效,这样servelt容器将会通知Spring Security session生命周期的事件(通过HttpSessionEventPublisher)
<listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <listener> <listener-class> org.springframework.security.web.session.HttpSessionEventPublisher </listener-class> </listener>
2.修改spring-security.xml,借助于使用session注册跟踪(通过session并发控制),实现显示系统中当前活跃用户的数量。
<s:http use-expressions='true' disable-url-rewriting='true' auto-config='true'> <s:session-management invalid-session-url='/timeout'> <s:concurrency-control max-sessions='1' error-if-maximum-exceeded='false' session-registry-ref='sessionRegistry'/> </s:session-management> </s:http> <bean />
3.登录过滤器修改,登录验证通过后向sessionRegistry中添加在线session
sessionRegistry.registerNewSession(token, bean);
4.在controller中调用,获取sessionRegistry中存储的用户信息
List<Object> objlist = sessionRegistry.getAllPrincipals();
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。
相关文章:
1. React+umi+typeScript创建项目的过程2. ASP调用WebService转化成JSON数据,附json.min.asp3. php测试程序运行速度和页面执行速度的代码4. php网络安全中命令执行漏洞的产生及本质探究5. ASP.NET Core 5.0中的Host.CreateDefaultBuilder执行过程解析6. 无线标记语言(WML)基础之WMLScript 基础第1/2页7. Warning: require(): open_basedir restriction in effect,目录配置open_basedir报错问题分析8. ASP中常用的22个FSO文件操作函数整理9. SharePoint Server 2019新特性介绍10. 三个不常见的 HTML5 实用新特性简介
