spring security3 统计在线用户
生活随笔
收集整理的這篇文章主要介紹了
spring security3 统计在线用户
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先,我們需要使得ConcurrentSessionFilter生效并在spring-security.xml配置。
[html]?view plaincopy<http?auto-config="true"?use-expressions="true">?? ????<!--?Uncomment?to?limit?the?number?of?sessions?a?user?can?have?-->?? ????<session-management?invalid-session-url="/index.do">?? ????????<concurrency-control?max-sessions="1"?? ????????????error-if-maximum-exceeded="false"/>?? ????</session-management>??? </http>?? 其次,需要在web.xml描述文件中配置中使得o.s.s.web.session.HttpSessionEventPublisher生效,這樣servelt容器將會通知Spring Security session生命周期的事件(通過HttpSessionEventPublisher)。
[html]?view plaincopy<listener>?? ????<listener-class>?? ????????org.springframework.web.context.ContextLoaderListener?? ????</listener-class>?? </listener>?? <listener>?? ????<listener-class>?? ????????org.springframework.security.web.session.HttpSessionEventPublisher?? ????</listener-class>?? </listener>?? 然后,借助于使用session注冊跟蹤(通過session并發控制),實現顯示系統中當前活躍用戶的數量。
???????? 讓我們在BaseController中添加一個簡單的方法以及bean自動織入。@Autowired
[java]?view plaincopy@Autowired?? SessionRegistry?sessionRegistry;?? @ModelAttribute("numUsers")?? public?int?getNumberOfUsers()?{?? ???return?sessionRegistry.getAllPrincipals().size();?? }?? 可以看到這暴露了一個能夠在Spring MVC JSP頁面中能夠使用的屬性。
最后,我們可以添加一個頁腳footer.jsp到JBCP Pets站點中并使用這個屬性。[html]?view plaincopy<body>?? ????<div?id="footer">?? ????????${numUsers}?user(s)?are?logged?in!?? ????</div>?? </body>?? 如果你重新啟動應用并登錄,能夠在每個頁面的底部看到活動用戶的數量。
參考資料:《Spring Security3》第六章第三部分翻譯(Session的管理和并發)
????????????????http://lengyun3566.iteye.com/blog/1198836
[html]?view plaincopy
[html]?view plaincopy
???????? 讓我們在BaseController中添加一個簡單的方法以及bean自動織入。@Autowired
[java]?view plaincopy
最后,我們可以添加一個頁腳footer.jsp到JBCP Pets站點中并使用這個屬性。[html]?view plaincopy
參考資料:《Spring Security3》第六章第三部分翻譯(Session的管理和并發)
????????????????http://lengyun3566.iteye.com/blog/1198836
總結
以上是生活随笔為你收集整理的spring security3 统计在线用户的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android上实现柱状图表
- 下一篇: 显示播客信息-bloginfo() 函数