クラス CookieCsrfTokenRepository

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

public final class CookieCsrfTokenRepository extends ObjectSE implements CsrfTokenRepository
CSRF トークンを "XSRF-TOKEN" という名前の Cookie に永続化し、AngularJS の規則に従ってヘッダー "X-XSRF-TOKEN" から読み取る CsrfTokenRepository。AngularJS で使用する場合は、必ず withHttpOnlyFalse() を使用してください。
導入:
4.1
  • コンストラクターの概要

    コンストラクター
    コンストラクター
    説明
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    generateToken(jakarta.servlet.http.HttpServletRequest request)
    CsrfToken を生成します
    CSRF Cookie が設定されるパスを取得します。
    loadToken(jakarta.servlet.http.HttpServletRequest request)
    HttpServletRequest から予想される CsrfToken をロードします
    void
    saveToken(CsrfToken token, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
    HttpServletRequest および HttpServletResponse を使用して CsrfToken を保存します。
    void
    予期される CSRF トークンが保存され、そこから読み取られる Cookie のドメインを設定します。
    void
    setCookieHttpOnly(boolean cookieHttpOnly)
    CSRF トークンを含む Cookie に HttpOnly 属性を設定します。
    void
    setCookieMaxAge(int cookieMaxAge)
    予期される CSRF トークンが保存および読み取られる Cookie の最大経過時間を秒単位で設定します。
    void
    予期される CSRF トークンが保存され、読み取られる Cookie の名前を設定します。
    void
    Cookie の作成に使用するパスを設定します。
    void
    トークンの提供に使用する HTTP ヘッダーの名前を設定します。
    void
    setParameterName(StringSE parameterName)
    トークンを提供するために使用する必要がある HTTP リクエストパラメーターの名前を設定します。
    void
    予期される CSRF トークンが保存され、そこから読み取られる Cookie のセキュアフラグを設定します。
    setCookieHttpOnly(boolean) を false に設定したインスタンスを簡単に作成するためのファクトリメソッド。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE

    インターフェース org.springframework.security.web.csrf.CsrfTokenRepository から継承されたメソッド

    loadDeferredToken
  • コンストラクターの詳細

    • CookieCsrfTokenRepository

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

    • generateToken

      public CsrfToken generateToken(jakarta.servlet.http.HttpServletRequest request)
      インターフェースからコピーされた説明: CsrfTokenRepository
      CsrfToken を生成します
      次で指定:
      インターフェース CsrfTokenRepositorygenerateToken 
      パラメーター:
      request - 使用する HttpServletRequest 
      戻り値:
      生成された CsrfToken。null にはできません。
    • saveToken

      public void saveToken(CsrfToken token, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
      インターフェースからコピーされた説明: CsrfTokenRepository
      HttpServletRequest および HttpServletResponse を使用して CsrfToken を保存します。CsrfToken が null の場合、削除と同じです。
      次で指定:
      インターフェース CsrfTokenRepositorysaveToken 
      パラメーター:
      token - 保存する CsrfToken または削除する null
      request - 使用する HttpServletRequest 
      response - 使用する HttpServletResponse 
    • loadToken

      public CsrfToken loadToken(jakarta.servlet.http.HttpServletRequest request)
      インターフェースからコピーされた説明: CsrfTokenRepository
      HttpServletRequest から予想される CsrfToken をロードします
      次で指定:
      インターフェース CsrfTokenRepositoryloadToken 
      パラメーター:
      request - 使用する HttpServletRequest 
      戻り値:
      CsrfToken または存在しない場合は null
    • setParameterName

      public void setParameterName(StringSE parameterName)
      トークンを提供するために使用する必要がある HTTP リクエストパラメーターの名前を設定します。
      パラメーター:
      parameterName - トークンを提供するために使用する必要がある HTTP リクエストパラメーターの名前
    • setHeaderName

      public void setHeaderName(StringSE headerName)
      トークンの提供に使用する HTTP ヘッダーの名前を設定します。
      パラメーター:
      headerName - トークンを提供するために使用される HTTP ヘッダーの名前
    • setCookieName

      public void setCookieName(StringSE cookieName)
      予期される CSRF トークンが保存され、読み取られる Cookie の名前を設定します。
      パラメーター:
      cookieName - 予期される CSRF トークンが保存され、そこから読み取られる Cookie の名前
    • setCookieHttpOnly

      public void setCookieHttpOnly(boolean cookieHttpOnly)
      CSRF トークンを含む Cookie に HttpOnly 属性を設定します。デフォルトは true です。
      パラメーター:
      cookieHttpOnly - true は HttpOnly 属性を設定しますが、false はそれを設定しません
    • withHttpOnlyFalse

      public static CookieCsrfTokenRepository withHttpOnlyFalse()
      setCookieHttpOnly(boolean) を false に設定したインスタンスを簡単に作成するためのファクトリメソッド。
      戻り値:
      setCookieHttpOnly(boolean) が false に設定された CookieCsrfTokenRepository のインスタンス
    • setCookiePath

      public void setCookiePath(StringSE path)
      Cookie の作成に使用するパスを設定します。これにより、リクエストコンテキストをパスとして使用するデフォルトの機能が上書きされます。
      パラメーター:
      path - 使用するパス
    • getCookiePath

      public StringSE getCookiePath()
      CSRF Cookie が設定されるパスを取得します。
      戻り値:
      使用するパス。
    • setCookieDomain

      public void setCookieDomain(StringSE cookieDomain)
      予期される CSRF トークンが保存され、そこから読み取られる Cookie のドメインを設定します。
      パラメーター:
      cookieDomain - 予期される CSRF トークンが保存され、そこから読み取られる Cookie のドメイン
      導入:
      5.2
    • setSecure

      public void setSecure(BooleanSE secure)
      予期される CSRF トークンが保存され、そこから読み取られる Cookie のセキュアフラグを設定します。デフォルトでは、セキュアフラグは ServletRequest.isSecure() に依存します
      パラメーター:
      secure - 期待される CSRF トークンが保存され、そこから読み取られる Cookie のセキュアフラグ
      導入:
      5.4
    • setCookieMaxAge

      public void setCookieMaxAge(int cookieMaxAge)
      予期される CSRF トークンが保存および読み取られる Cookie の最大経過時間を秒単位で設定します。デフォルトでは、最大年齢値は -1 です。

      正の値は、その秒数が経過すると Cookie が期限切れになることを示します。値は、Cookie の現在の年齢ではなく、Cookie が期限切れになる最大年齢であることに注意してください。

      負の値は、Cookie が永続的に保存されず、Web ブラウザーが終了すると削除されることを意味します。

      値がゼロの場合、Cookie はすぐに削除されるため、有効な値ではなく、その場合は IllegalArgumentExceptionSE がスローされます。

      パラメーター:
      cookieMaxAge - Cookie の最大存続期間を秒単位で指定する整数。負の場合は、Cookie が保存されていないことを意味します。ゼロの場合、メソッドは IllegalArgumentExceptionSE をスローします
      導入:
      5.5