2013-03-27 90 views
0

正如标题所说,我有一个春天mvc安全实现,很好,但我想管理用户登录在Web应用程序内。管理所有用户的会话数据在春天3.0

我需要添加会话信息,如“客户端IP地址,时间登录,最后用户的活动和登录状态(如果我想登录他们出去)”

我读过很多论坛,例子,甚至春天的文档,并且找不到我需要的东西。

即使尝试将bean添加到我的安全xml中,在我的LoginController中添加了@Resource sessionManager,并且出现了504错误。

另一个问题:有没有办法获得客户端的IP地址?我通过使用jquery现在对另一个网站发布帖子来获取它......但这很肮脏。

在此先感谢。

回答

0

为了在“所有会话”上运行,您需要比会话更高,这意味着ApplicationContext。

通过扩展ServletContextListener并向web.xml添加侦听器定义,我做了一些有点类似的事情。

基本上是: 在contextInitialized(ServletContextEvent事件)与

event.getServletContext().setAttribute("myContextListener", this); 

添加监听器的实例,当你需要的东西,获得对象的关联情形的与

(MyContextListener)request.getSession().getServletContext() 
    .getAttribute("myContextListener"); 

一些变化至于如何做到“春天之路”(tm),那么,我不知道......但是。