2013-03-27 64 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),那麼,我不知道......但是。