クラス CookieCsrfTokenRepository

  • 実装されたすべてのインターフェース:
    CsrfTokenRepository

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

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

      すべてのメソッド   静的メソッド   インスタンスメソッド   具象メソッド  
      修飾子と型 メソッド 説明
      CsrfTokengenerateToken​(javax.servlet.http.HttpServletRequest request)
      CsrfToken を生成します
      java.lang.StringgetCookiePath()
      CSRF Cookie が設定されるパスを取得します。
      CsrfTokenloadToken​(javax.servlet.http.HttpServletRequest request)
      HttpServletRequest から予想される CsrfToken をロードします
      voidsaveToken​(CsrfToken token, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      HttpServletRequest および HttpServletResponse を使用して CsrfToken を保存します。
      voidsetCookieDomain​(java.lang.String cookieDomain)
      予期される CSRF トークンが保存され、そこから読み取られる Cookie のドメインを設定します。
      voidsetCookieHttpOnly​(boolean cookieHttpOnly)
      CSRF トークンを含む Cookie に HttpOnly 属性を設定します。
      voidsetCookieMaxAge​(int cookieMaxAge)
      予期される CSRF トークンが保存および読み取られる Cookie の最大経過時間を秒単位で設定します。
      voidsetCookieName​(java.lang.String cookieName)
      予期される CSRF トークンが保存され、読み取られる Cookie の名前を設定します。
      voidsetCookiePath​(java.lang.String path)
      Cookie の作成に使用するパスを設定します。
      voidsetHeaderName​(java.lang.String headerName)
      トークンの提供に使用する HTTP ヘッダーの名前を設定します。
      voidsetParameterName​(java.lang.String parameterName)
      トークンを提供するために使用する必要がある HTTP リクエストパラメーターの名前を設定します。
      voidsetSecure​(java.lang.Boolean secure)
      予期される CSRF トークンが保存され、そこから読み取られる Cookie のセキュアフラグを設定します。
      static CookieCsrfTokenRepositorywithHttpOnlyFalse()
      setCookieHttpOnly(boolean) を false に設定したインスタンスを簡単に作成するためのファクトリメソッド。
      • クラス java.lang.Object から継承されたメソッド

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • コンストラクターの詳細

      • CookieCsrfTokenRepository

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

      • generateToken

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

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

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

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

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

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

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

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

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

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

        public void setSecure​(java.lang.Boolean 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 はすぐに削除されるため、有効な値ではなく、その場合は IllegalArgumentException がスローされます。

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