2014-09-03 111 views
0

我使用spring-security-saml示例代碼在java中實現SAML2.0 ServiceProvider。成功登錄響應後重定向到應用程序的根路徑(歡迎文件)。如何將其重定向到任何控制器?SAML 2.0服務提供者實現

感謝, Tejas的

+0

我試圖與添加<豆ID = 「successRedirectHandler」 類= 「org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler」> <屬性名= 「defaultTargetUrl」 值= 「/ myControllerURL」/> 但它不起作用。 – Tejas 2014-09-08 06:06:36

回答

1

您可以自定義URL哪個用戶被成功驗證後,通過改變豆successRedirectHandler,例如重定向:

<bean id="successRedirectHandler" 
     class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler"> 
    <property name="defaultTargetUrl" value="/myControllerURL"/> 
</bean> 
+0

我已經在securitycontext.xml文件中添加了上述bean,但它不起作用。添加此代碼後,它重定向到web.xml中提到的歡迎文件 – Tejas 2014-09-08 06:04:09

+0

然後啓用在調試級別上的日誌記錄並將整個SSO進程中的日誌添加到這個問題。 – 2014-09-08 06:29:38

+0

我收到以下日誌: - SAML協議消息未簽名,跳過XML簽名處理 - AuthNResponse; SUCCESS; 0:0:0:0:0:0:0:1; http:// localhost:8080/ServiceProvider /saml/metadata;http://idp.ssocircle.com;[email protected] ;; authentication org.springf[email protected]4a5c013f:Principal:[email protected];證書:[PROTECTED];已驗證:true;詳細信息:null;未被授予任何權限 – Tejas 2014-09-08 10:38:27

0

如果你正在尋找的一般方式通過登錄過程保持狀態,SAML2預計將保留RelayState變量(將其與SAMLRequest並行傳遞)。把你想要的任何東西放進去。我喜歡base64'd json。