後,下面就是我成功登錄後,訪問者重定向到一個頁面:春季安全:重定向到具有路徑變量的URL登錄成功
<bean id="authenticationSuccessHandler" class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler" p:defaultTargetUrl="/account/quickview"/>
我想直接訪問者到URL使用以下URL:
/account/quickview/id_of_account_object
如何配置Spring安全性以在成功登錄後將該帳戶ID附加到「/ account/quickview」?
我正在使用Spring Security 3.1
感謝和問候。
這是我如何解決這個
我創建SavedRequestAwareAuthenticationSuccessHandler的子類,我添加了一個名爲temporaryTargetUrl屬性,該屬性設置爲「/帳號/快速查看」。當類'onAuthenticationSuccess被調用時,我從委託人獲得委託人和賬戶ID。在這一刻,我追加「/ ACCOUNT_ID」到temporaryTargetUrl並調用超:
super.setDefaultTargetUrl(this.temporaryTargetUrl + "/" + account.getId());
注意SavedRequestAwareAuthenticationSuccessHandler的getDetaulTargetUrl無法使用Spring的包,這就是爲什麼我在首位創建temporaryTargetUrl之外。
請隨時發表評論。
謝謝!
感謝。請你詳細說一下「Spring安全會話對象並在被稱爲quickview url時檢索對象」?我不知道如何去做。我在你的文章中一直在做其他事情。 – curious1
在我的實現中,我只實現了「UserDetailsServiceImpl實現AuthenticationManager,UserDetailsService,ApplicationContextAware」。在「UserDetailsServiceImpl」中,我有一個方法loadUserByUsername。 – curious1