クラス CsrfConfigurer<H extends HttpSecurityBuilder<H>>
java.lang.ObjectSE
org.springframework.security.config.annotation.SecurityConfigurerAdapter<DefaultSecurityFilterChain,B>
org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer < CsrfConfigurer <H>、H>
org.springframework.security.config.annotation.web.configurers.CsrfConfigurer<H>
- 実装済みのインターフェース一覧:
SecurityConfigurer<DefaultSecurityFilterChain,H>
public final class CsrfConfigurer<H extends HttpSecurityBuilder<H>>
extends AbstractHttpConfigurer<CsrfConfigurer<H>,H>
requireCsrfProtectionMatcher(RequestMatcher) で指定されているメソッドに CSRF 保護を追加します。セキュリティフィルター
次のフィルターが読み込まれます作成された共有オブジェクト
共有オブジェクトは作成されません。使用される共有オブジェクト
ExceptionHandlingConfigurer.accessDeniedHandler(AccessDeniedHandler)は、CSRF 試行の処理方法を決定するために使用されますInvalidSessionStrategy
- 導入:
- 3.2
コンストラクター概要
コンストラクター方法の概要
修飾子と型メソッド説明voidSecurityBuilderに必要なプロパティを設定して、SecurityBuilderを構成します。csrfTokenRepository(CsrfTokenRepository csrfTokenRepository) 使用するCsrfTokenRepositoryを指定します。csrfTokenRequestHandler(CsrfTokenRequestHandler requestHandler) CsrfTokenをリクエスト属性として使用可能にするために使用するCsrfTokenRequestHandlerを指定します。ignoringRequestMatchers(StringSE... patterns) requireCsrfProtectionMatcher(RequestMatcher)と一致しても CSRF 保護を使用しないHttpServletRequestを指定できます。ignoringRequestMatchers(RequestMatcher... requestMatchers) requireCsrfProtectionMatcher(RequestMatcher)と一致しても CSRF 保護を使用しないHttpServletRequestを指定できます。requireCsrfProtectionMatcher(RequestMatcher requireCsrfProtectionMatcher) CSRF を適用するタイミングを決定するために使用するRequestMatcherを指定します。sessionAuthenticationStrategy(SessionAuthenticationStrategy sessionAuthenticationStrategy) 使用するSessionAuthenticationStrategyを指定します。spa()シングルページアプリケーションと組み合わせて使用する場合の適切な CSRF デフォルト。クラス org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer から継承されたメソッド
disable, getRequestMatcherBuilder, getSecurityContextHolderStrategy, withObjectPostProcessorクラス org.springframework.security.config.annotation.SecurityConfigurerAdapter から継承されたメソッド
addObjectPostProcessor, getBuilder, init, postProcess, setBuilder
コンストラクターの詳細
CsrfConfigurer
public CsrfConfigurer(org.springframework.context.ApplicationContext context) 新しいインスタンスを作成します
メソッドの詳細
csrfTokenRepository
使用するCsrfTokenRepositoryを指定します。デフォルトはHttpSessionCsrfTokenRepositoryです。- パラメーター:
csrfTokenRepository- 使用するCsrfTokenRepository- 戻り値:
- さらにカスタマイズするための
CsrfConfigurer
requireCsrfProtectionMatcher
CSRF を適用するタイミングを決定するために使用するRequestMatcherを指定します。デフォルトでは、GET、HEAD、TRACE、OPTIONS を無視し、他のすべてのリクエストを処理します。- パラメーター:
requireCsrfProtectionMatcher- 使用するRequestMatcher- 戻り値:
- さらにカスタマイズするための
CsrfConfigurer
csrfTokenRequestHandler
CsrfTokenをリクエスト属性として使用可能にするために使用するCsrfTokenRequestHandlerを指定します。- パラメーター:
requestHandler- 使用するCsrfTokenRequestHandler- 戻り値:
- さらにカスタマイズするための
CsrfConfigurer - 導入:
- 5.8
ignoringRequestMatchers
requireCsrfProtectionMatcher(RequestMatcher)と一致しても CSRF 保護を使用しないHttpServletRequestを指定できます。例: 次の設定により、CSRF 保護が無視されます。
- GET、HEAD、TRACE、OPTIONS (これがデフォルトです)
- また、"X-Requested-With:XMLHttpRequest" ヘッダーを持つリクエストを無視するよう明示的に述べています
http .csrf((csrf) -> csrf .ignoringRequestMatchers((request) -> "XMLHttpRequest".equals(request.getHeader("X-Requested-With")))) ...- 導入:
- 5.1
ignoringRequestMatchers
requireCsrfProtectionMatcher(RequestMatcher)と一致しても CSRF 保護を使用しないHttpServletRequestを指定できます。例: 次の設定により、CSRF 保護が無視されます。
- GET、HEAD、TRACE、OPTIONS (これがデフォルトです)
- また、"/sockjs/" で始まるリクエストはすべて無視することを明示的に述べています
http .csrf((csrf) -> csrf .ignoringRequestMatchers("/sockjs/**")) ...sessionAuthenticationStrategy
public CsrfConfigurer<H> sessionAuthenticationStrategy(SessionAuthenticationStrategy sessionAuthenticationStrategy) 使用する
SessionAuthenticationStrategyを指定します。デフォルトはCsrfAuthenticationStrategyです。- パラメーター:
sessionAuthenticationStrategy- 使用するSessionAuthenticationStrategy- 戻り値:
- さらにカスタマイズするための
CsrfConfigurer - 導入:
- 5.2
spa
シングルページアプリケーションと組み合わせて使用する場合の、適切な CSRF のデフォルト設定。Cookie ベースのトークンリポジトリとカスタムリクエストハンドラーを作成し、エンコードされたトークンではなく実際のトークン値を解決します。
- 戻り値:
- さらにカスタマイズするための
CsrfConfigurer - 導入:
- 7.0
configure
インターフェースからコピーされた説明:SecurityConfigurerSecurityBuilderに必要なプロパティを設定して、SecurityBuilderを構成します。- 次で指定:
- インターフェース
SecurityConfigurer<DefaultSecurityFilterChain,のH extends HttpSecurityBuilder<H>> configure - オーバーライド:
- クラス
SecurityConfigurerAdapter<DefaultSecurityFilterChain,のH extends HttpSecurityBuilder<H>> configure