如何基于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. Docker 部署 Prometheus的安装详细教程2. notepad++运行python脚本的操作方法3. Docker究竟是什么 为什么这么流行 它的优点和缺陷有哪些?4. IntelliJ IDEA安装插件的方法步骤5. 使用Docker的NFS-Ganesha镜像搭建nfs服务器的详细过程6. python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例7. Laravel Many-To-Many多对多关系模式示例详解8. 推荐一个好看Table表格的css样式代码详解9. Notepad++如何安装Python插件?Notepad++插件怎么装?10. PHP 命名空间原理与用法详解

网公网安备