クラス 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 実装は、CsrfTokenWebSessionServerCsrfTokenRepository とともに WebSession に格納することを選択します。これは、クライアントアプリケーションで変更できる Cookie にトークンを保存するよりも優先されます。

    Mono<CsrfToken> は、CsrfToken.class.getName() という名前のリクエスト属性として公開されます。トークンが新しい場合は、サブスクライブ時に自動的に保存されます。

    導入:
    5.0
    • コンストラクターの詳細

      • CsrfWebFilter

        public CsrfWebFilter()
    • メソッドの詳細

      • 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.WebFilterfilter 
      • skipExchange

        public static void skipExchange​(org.springframework.web.server.ServerWebExchange exchange)