サイト (SP) の最初のリクエストから URL リクエスト パラメータを記憶し、IdP からの応答後にそれらを使用します。
spring-saml 拡張機能を使用していて、relayState 属性について考えていますが、リクエストからのパラメーターを使用してビルドする方法の例が見つかりません。
sso認証プロセスの後にユーザーをターゲットページ(アプリケーションのモジュール)にリダイレクトするには、最初のリクエストの内容に依存する必要があります。
サイト (SP) の最初のリクエストから URL リクエスト パラメータを記憶し、IdP からの応答後にそれらを使用します。
spring-saml 拡張機能を使用していて、relayState 属性について考えていますが、リクエストからのパラメーターを使用してビルドする方法の例が見つかりません。
sso認証プロセスの後にユーザーをターゲットページ(アプリケーションのモジュール)にリダイレクトするには、最初のリクエストの内容に依存する必要があります。
Spring SAML サンプル アプリケーションは、すぐにこのように動作します。ユーザーが Spring Security によって保護され、認証システムを必要とするページにアクセスした場合:
ExceptionTranslationFilter
で andを使用して自動的に行われます)。HttpSessionRequestCache
SAMLEntryPoint
IDP の選択後に可能になる、ユーザーを IDP にリダイレクトするSpring SAML のエントリ ポイント (クラス) を呼び出します。org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler
もちろん、意図したとおりにリレー状態を使用してこれを実装できます。リレー状態を設定する正しい方法はSAMLEntryPoint
、メソッドを拡張してオーバーライドgetProfileOptions
し、返されたオブジェクトで目的のリレー状態を返すWebSSOProfileOptions
ことです。
次に、認証の成功後にリレー状態から返される URL にリダイレクトする make をAuthenticationSuccessHandler
変更できます。org.springframework.security.saml.SAMLRelayStateSuccessHandler