クラス CsrfWebFilter
java.lang.ObjectSE
org.springframework.security.web.server.csrf.CsrfWebFilter
- 実装されたすべてのインターフェース:
org.springframework.web.server.WebFilter
シンクロナイザトークンパターンを使用して CSRF 保護を適用します。開発者は、状態の変更を許可するすべてのリクエストに対して CsrfWebFilter
が呼び出されるようにする必要があります。通常これは、Web アプリケーションが適切な REST セマンティクスに従っていることを確認する必要があることを意味します(つまり、HTTP メソッド GET、HEAD、TRACE、OPTIONS で状態を変更しないでください)。
通常、ServerCsrfTokenRepository
実装は、CsrfToken
を WebSessionServerCsrfTokenRepository
とともに WebSession
に格納することを選択します。これは、クライアントアプリケーションで変更できる Cookie にトークンを保存するよりも優先されます。
Mono<CsrfToken>
は、CsrfToken.class.getName()
という名前のリクエスト属性として公開されます。トークンが新しい場合は、サブスクライブ時に自動的に保存されます。
- 導入:
- 5.0
フィールドサマリー
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明reactor.core.publisher.Mono<VoidSE>
filter
(org.springframework.web.server.ServerWebExchange exchange, org.springframework.web.server.WebFilterChain chain) void
setAccessDeniedHandler
(ServerAccessDeniedHandler accessDeniedHandler) void
setCsrfTokenRepository
(ServerCsrfTokenRepository csrfTokenRepository) void
setRequestHandler
(ServerCsrfTokenRequestHandler requestHandler) CsrfToken
を交換属性として使用可能にするために使用されるServerCsrfTokenRequestHandler
を指定します。void
setRequireCsrfProtectionMatcher
(ServerWebExchangeMatcher requireCsrfProtectionMatcher) static void
skipExchange
(org.springframework.web.server.ServerWebExchange exchange)
フィールドの詳細
DEFAULT_CSRF_MATCHER
コンストラクターの詳細
CsrfWebFilter
public CsrfWebFilter()
メソッドの詳細
setAccessDeniedHandler
setCsrfTokenRepository
setRequireCsrfProtectionMatcher
setRequestHandler
CsrfToken
を交換属性として使用可能にするために使用されるServerCsrfTokenRequestHandler
を指定します。デフォルトは
XorServerCsrfTokenRequestAttributeHandler
です。- パラメーター:
requestHandler
- 使用するServerCsrfTokenRequestHandler
- 導入:
- 5.8
filter
public reactor.core.publisher.Mono<VoidSE> filter(org.springframework.web.server.ServerWebExchange exchange, org.springframework.web.server.WebFilterChain chain) - 次で指定:
- インターフェース
org.springframework.web.server.WebFilter
のfilter
skipExchange
public static void skipExchange(org.springframework.web.server.ServerWebExchange exchange)