クラス CsrfWebFilter
- java.lang.Object
-
- org.springframework.security.web.server.csrf.CsrfWebFilter
- 実装されたすべてのインターフェース:
org.springframework.web.server.WebFilter
public class CsrfWebFilter extends java.lang.Object implements 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
フィールドサマリー
フィールド 修飾子と型 フィールド 説明 static ServerWebExchangeMatcher
DEFAULT_CSRF_MATCHER
コンストラクターのサマリー
コンストラクター コンストラクター 説明 CsrfWebFilter()
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 reactor.core.publisher.Mono<java.lang.Void>
filter(org.springframework.web.server.ServerWebExchange exchange, org.springframework.web.server.WebFilterChain chain)
void
setAccessDeniedHandler(ServerAccessDeniedHandler accessDeniedHandler)
void
setCsrfTokenRepository(ServerCsrfTokenRepository csrfTokenRepository)
void
setRequireCsrfProtectionMatcher(ServerWebExchangeMatcher requireCsrfProtectionMatcher)
void
setTokenFromMultipartDataEnabled(boolean tokenFromMultipartDataEnabled)
CsrfWebFilter
がマルチパートデータリクエストの本文から実際の CSRF トークンを解決しようとするかどうかを指定します。static void
skipExchange(org.springframework.web.server.ServerWebExchange exchange)
フィールドの詳細
DEFAULT_CSRF_MATCHER
public static final ServerWebExchangeMatcher DEFAULT_CSRF_MATCHER
メソッドの詳細
setAccessDeniedHandler
public void setAccessDeniedHandler(ServerAccessDeniedHandler accessDeniedHandler)
setCsrfTokenRepository
public void setCsrfTokenRepository(ServerCsrfTokenRepository csrfTokenRepository)
setRequireCsrfProtectionMatcher
public void setRequireCsrfProtectionMatcher(ServerWebExchangeMatcher requireCsrfProtectionMatcher)
setTokenFromMultipartDataEnabled
public void setTokenFromMultipartDataEnabled(boolean tokenFromMultipartDataEnabled)
CsrfWebFilter
がマルチパートデータリクエストの本文から実際の CSRF トークンを解決しようとするかどうかを指定します。- パラメーター:
tokenFromMultipartDataEnabled
- マルチパートフォーム本体から読み取る必要がある場合は true、それ以外の場合は false。デフォルトは false です
filter
public reactor.core.publisher.Mono<java.lang.Void> 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)