2013-03-04 55 views
0

在MyLogoutHandler類中,我重寫了determineTargetUrl()方法,在這裏我調用MyUserDetials userDetails = (MyUserDetials)userContextManager.getUserDetails(),但userDetails爲null。拉自定義LogoutHandler中的userDetails Spring MVC

這裏是配置:

<security:logout 
invalidate-session="true" 
success-handler-ref="MyLogoutHandler" 
logout-url="/auth/logout"/> 

我注意到,自從無效會話=「真」,這是空?但我喜歡保持這個屬性爲「真」,我可以有任何其他方式來做配置嗎?

我的目標是:我需要從userDetails中提取一些信息,以在用戶單擊註銷後進行web服務調用。

謝謝。

回答

2

我修復了這個問題。我創造了我自己的處理程序,並沒有覆蓋:

public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {...} 

*SimpleUrlLogoutSuccessHandler*方法。根據我的彈簧配置,現在我可以獲得*authentication*對象。

謝謝。

2

您需要創建自己的LogoutHandler,實現

void logout(HttpServletRequest request, HttpServletResponse response, Authentication authentication); 

實現將其添加到security:logout標籤。從authentication參數獲取用戶詳細信息後。

+0

根據我的彈簧配置,我嘗試了這種方法,但這並不奏效,儘管它可以幫助我思考。謝謝。 – 2013-03-06 06:09:45

相關問題