如何基于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. 解决Vue @submit 提交后不刷新页面问题2. Sun 公司完整发布Java API文档中文版3. React实现一个倒计时hook组件实战示例4. Python常用base64 md5 aes des crc32加密解密方法汇总5. python程序文件扩展名知识点详解6. JavaScript与JQuery框架基础入门教程7. Python 统计列表中重复元素的个数并返回其索引值的实现方法8. 删除docker里建立容器的操作方法9. 解决vue3中from表单嵌套el-table时填充el-input,v-model不唯一问题10. 利用Springboot实现Jwt认证的示例代码

网公网安备