クラス CsrfWebFilter

java.lang.ObjectSE
org.springframework.security.web.server.csrf.CsrfWebFilter
実装されたすべてのインターフェース:
org.springframework.web.server.WebFilter

public class CsrfWebFilter extends ObjectSE 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()
  • メソッドの詳細

    • setAccessDeniedHandler

      public void setAccessDeniedHandler(ServerAccessDeniedHandler accessDeniedHandler)
    • setCsrfTokenRepository

      public void setCsrfTokenRepository(ServerCsrfTokenRepository csrfTokenRepository)
    • setRequireCsrfProtectionMatcher

      public void setRequireCsrfProtectionMatcher(ServerWebExchangeMatcher requireCsrfProtectionMatcher)
    • setRequestHandler

      public void setRequestHandler(ServerCsrfTokenRequestHandler requestHandler)
      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.WebFilterfilter 
    • skipExchange

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