クラス SessionManagementConfigurer<H extends HttpSecurityBuilder<H>>
- java.lang.Object
-
- org.springframework.security.config.annotation.SecurityConfigurerAdapter<DefaultSecurityFilterChain,B>
-
- org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer<SessionManagementConfigurer<H>,H>
-
- org.springframework.security.config.annotation.web.configurers.SessionManagementConfigurer<H>
- 実装されたすべてのインターフェース:
SecurityConfigurer<DefaultSecurityFilterChain,H>
public final class SessionManagementConfigurer<H extends HttpSecurityBuilder<H>> extends AbstractHttpConfigurer<SessionManagementConfigurer<H>,H>
セッション管理の構成を許可します。セキュリティフィルター
次のフィルターが読み込まれますSessionManagementFilter
ConcurrentSessionFilter
(ユーザーが保持できる同時セッションの数に制限がある場合)
作成された共有オブジェクト
次の共有オブジェクトが作成されます。使用される共有オブジェクト
SecurityContextRepository
AuthenticationTrustResolver
は、HttpSessionSecurityContextRepository
およびSessionManagementFilter
を取り込むためにオプションで使用されます
- 導入:
- 3.2
- 関連事項:
SessionManagementFilter
,ConcurrentSessionFilter
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 class
SessionManagementConfigurer.ConcurrencyControlConfigurer
複数のセッションの制御を構成できます。class
SessionManagementConfigurer.SessionFixationConfigurer
SessionFixation 保護の構成を許可します
コンストラクターのサマリー
コンストラクター コンストラクター 説明 SessionManagementConfigurer()
新しいインスタンスを作成します
メソッドのサマリー
クラス org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer から継承されたメソッド
disable, withObjectPostProcessor
クラス org.springframework.security.config.annotation.SecurityConfigurerAdapter から継承されたメソッド
addObjectPostProcessor, and, getBuilder, postProcess, setBuilder
メソッドの詳細
invalidSessionUrl
public SessionManagementConfigurer<H> invalidSessionUrl(java.lang.String invalidSessionUrl)
この属性を設定すると、SessionManagementFilter
に属性値で構成されたSimpleRedirectInvalidSessionStrategy
が挿入されます。無効なセッション ID が送信されると、戦略が呼び出され、構成された URL にリダイレクトされます。- パラメーター:
invalidSessionUrl
- 無効なセッションが検出されたときにリダイレクトする URL- 戻り値:
- さらにカスタマイズするための
SessionManagementConfigurer
invalidSessionStrategy
public SessionManagementConfigurer<H> invalidSessionStrategy(InvalidSessionStrategy invalidSessionStrategy)
この属性を設定すると、提供された invalidSessionStrategy がSessionManagementFilter
に挿入されます。無効なセッション ID が送信されると、戦略が呼び出され、構成された URL にリダイレクトされます。- パラメーター:
invalidSessionStrategy
- 無効なセッション ID が送信されたときに使用する戦略。- 戻り値:
- さらにカスタマイズするための
SessionManagementConfigurer
sessionAuthenticationErrorUrl
public SessionManagementConfigurer<H> sessionAuthenticationErrorUrl(java.lang.String sessionAuthenticationErrorUrl)
SessionAuthenticationStrategy が例外を発生させたときに表示されるエラーページの URL を定義します。設定されていない場合、不正な (402) エラーコードがクライアントに返されます。認証が失敗した URL が優先されるフォームベースのログイン中にエラーが発生した場合、この属性は適用されないことに注意してください。- パラメーター:
sessionAuthenticationErrorUrl
- リダイレクト先の URL- 戻り値:
- さらにカスタマイズするための
SessionManagementConfigurer
sessionAuthenticationFailureHandler
public SessionManagementConfigurer<H> sessionAuthenticationFailureHandler(AuthenticationFailureHandler sessionAuthenticationFailureHandler)
SessionAuthenticationStrategy が例外を発生させるときに使用されるAuthenticationFailureHandler
を定義します。設定されていない場合、不正な (402) エラーコードがクライアントに返されます。認証が失敗した URL が優先されるフォームベースのログイン中にエラーが発生した場合、この属性は適用されないことに注意してください。- パラメーター:
sessionAuthenticationFailureHandler
- 使用するハンドラー- 戻り値:
- さらにカスタマイズするための
SessionManagementConfigurer
enableSessionUrlRewriting
public SessionManagementConfigurer<H> enableSessionUrlRewriting(boolean enableSessionUrlRewriting)
true に設定すると、HttpServletResponse.encodeRedirectURL(String)
またはHttpServletResponse.encodeURL(String)
を使用するときに HTTP セッションを URL に書き換えることができます。それ以外の場合、HTTP セッションを URL に含めることはできません。これにより、外部ドメインに情報が漏洩することを防ぎます。これは、
HttpServletResponse.encodeURL(java.lang.String)
およびHttpServletResponse.encodeRedirectURL(java.lang.String)
の呼び出しを保護することによって実現されます。ResourceUrlEncodingFilter
のように、これら 2 つの方法のいずれかをオーバーライドするコードは、セキュリティフィルターチェーンの後に来る必要があります。そうしないと、スキップされるリスクがあります。- パラメーター:
enableSessionUrlRewriting
- JSESSIONID を URL に書き換えられるようにする必要がある場合は true、そうでない場合は false (default)- 戻り値:
- さらにカスタマイズするための
SessionManagementConfigurer
- 関連事項:
HttpSessionSecurityContextRepository.setDisableUrlRewriting(boolean)
sessionCreationPolicy
public SessionManagementConfigurer<H> sessionCreationPolicy(SessionCreationPolicy sessionCreationPolicy)
SessionCreationPolicy
を指定できます- パラメーター:
sessionCreationPolicy
- 使用するSessionCreationPolicy
。null にはできません。- 戻り値:
- さらにカスタマイズするための
SessionManagementConfigurer
- 例外:
java.lang.IllegalArgumentException
-SessionCreationPolicy
が null の場合。- 関連事項:
SessionCreationPolicy
sessionAuthenticationStrategy
public SessionManagementConfigurer<H> sessionAuthenticationStrategy(SessionAuthenticationStrategy sessionAuthenticationStrategy)
SessionAuthenticationStrategy
を明示的に指定できます。デフォルトではChangeSessionIdAuthenticationStrategy
を使用します。セッションの最大数を制限するように構成されている場合、CompositeSessionAuthenticationStrategy
がConcurrentSessionControlAuthenticationStrategy
に委譲します。ConcurrentSessionControlAuthenticationStrategy
は、デフォルトの OR が提供するSessionAuthenticationStrategy
およびRegisterSessionAuthenticationStrategy
です。NOTE: カスタム
SessionAuthenticationStrategy
を指定すると、デフォルトのセッション固定戦略がオーバーライドされます。- パラメーター:
sessionAuthenticationStrategy
-- 戻り値:
- さらにカスタマイズするための
SessionManagementConfigurer
sessionFixation
public SessionManagementConfigurer.SessionFixationConfigurer sessionFixation()
デフォルトのSessionFixationProtectionStrategy
を変更できます。- 戻り値:
- さらにカスタマイズするための
SessionManagementConfigurer.SessionFixationConfigurer
sessionFixation
public SessionManagementConfigurer<H> sessionFixation(Customizer<SessionManagementConfigurer.SessionFixationConfigurer> sessionFixationCustomizer)
セッション固定保護を構成できます。- パラメーター:
sessionFixationCustomizer
-Customizer
を使用して、SessionManagementConfigurer.SessionFixationConfigurer
により多くのオプションを提供します。- 戻り値:
- さらにカスタマイズするための
SessionManagementConfigurer
maximumSessions
public SessionManagementConfigurer.ConcurrencyControlConfigurer maximumSessions(int maximumSessions)
ユーザーのセッションの最大数を制御します。デフォルトでは、任意の数のユーザーを許可します。- パラメーター:
maximumSessions
- ユーザーの最大セッション数- 戻り値:
- さらにカスタマイズするための
SessionManagementConfigurer
sessionConcurrency
public SessionManagementConfigurer<H> sessionConcurrency(Customizer<SessionManagementConfigurer.ConcurrencyControlConfigurer> sessionConcurrencyCustomizer)
ユーザーのセッションの最大数を制御します。デフォルトでは、任意の数のユーザーを許可します。- パラメーター:
sessionConcurrencyCustomizer
-Customizer
を使用して、SessionManagementConfigurer.ConcurrencyControlConfigurer
により多くのオプションを提供します。- 戻り値:
- さらにカスタマイズするための
SessionManagementConfigurer
init
public void init(H http)
インターフェースからコピーされた説明:SecurityConfigurer
SecurityBuilder
を初期化します。ここでは、共有状態のみを作成および変更する必要がありますが、オブジェクトの構築に使用されるSecurityBuilder
のプロパティは作成および変更しないでください。これにより、構築時にSecurityConfigurer.configure(SecurityBuilder)
メソッドが正しい共有オブジェクトを使用するようになります。ここで設定を適用する必要があります。- 次で指定:
- インターフェース
SecurityConfigurer<DefaultSecurityFilterChain,H extends HttpSecurityBuilder<H>>
のinit
- オーバーライド:
- クラス
SecurityConfigurerAdapter<DefaultSecurityFilterChain,H extends HttpSecurityBuilder<H>>
のinit
configure
public void configure(H http)
インターフェースからコピーされた説明:SecurityConfigurer
SecurityBuilder
に必要なプロパティを設定して、SecurityBuilder
を構成します。- 次で指定:
- インターフェース
SecurityConfigurer<DefaultSecurityFilterChain,H extends HttpSecurityBuilder<H>>
のconfigure
- オーバーライド:
- クラス
SecurityConfigurerAdapter<DefaultSecurityFilterChain,H extends HttpSecurityBuilder<H>>
のconfigure