クラス CookieCsrfTokenRepository
- java.lang.Object
-
- org.springframework.security.web.csrf.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()
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 CsrfToken
generateToken(javax.servlet.http.HttpServletRequest request)
CsrfToken
を生成しますjava.lang.String
getCookiePath()
CSRF Cookie が設定されるパスを取得します。CsrfToken
loadToken(javax.servlet.http.HttpServletRequest request)
HttpServletRequest
から予想されるCsrfToken
をロードしますvoid
saveToken(CsrfToken token, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
void
setCookieDomain(java.lang.String cookieDomain)
予期される CSRF トークンが保存され、そこから読み取られる Cookie のドメインを設定します。void
setCookieHttpOnly(boolean cookieHttpOnly)
CSRF トークンを含む Cookie に HttpOnly 属性を設定します。void
setCookieMaxAge(int cookieMaxAge)
予期される CSRF トークンが保存および読み取られる Cookie の最大経過時間を秒単位で設定します。void
setCookieName(java.lang.String cookieName)
予期される CSRF トークンが保存され、読み取られる Cookie の名前を設定します。void
setCookiePath(java.lang.String path)
Cookie の作成に使用するパスを設定します。void
setHeaderName(java.lang.String headerName)
トークンの提供に使用する HTTP ヘッダーの名前を設定します。void
setParameterName(java.lang.String parameterName)
トークンを提供するために使用する必要がある HTTP リクエストパラメーターの名前を設定します。void
setSecure(java.lang.Boolean secure)
予期される CSRF トークンが保存され、そこから読み取られる Cookie のセキュアフラグを設定します。static CookieCsrfTokenRepository
withHttpOnlyFalse()
setCookieHttpOnly(boolean)
を false に設定したインスタンスを簡単に作成するためのファクトリメソッド。
メソッドの詳細
generateToken
public CsrfToken generateToken(javax.servlet.http.HttpServletRequest request)
インターフェースからコピーされた説明:CsrfTokenRepository
CsrfToken
を生成します- 次で指定:
- インターフェース
CsrfTokenRepository
のgenerateToken
- パラメーター:
request
- 使用するHttpServletRequest
- 戻り値:
- 生成された
CsrfToken
。null にはできません。
saveToken
public void saveToken(CsrfToken token, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
インターフェースからコピーされた説明:CsrfTokenRepository
- 次で指定:
- インターフェース
CsrfTokenRepository
のsaveToken
- パラメーター:
token
- 保存するCsrfToken
または削除する nullrequest
- 使用するHttpServletRequest
response
- 使用するHttpServletResponse
loadToken
public CsrfToken loadToken(javax.servlet.http.HttpServletRequest request)
インターフェースからコピーされた説明:CsrfTokenRepository
HttpServletRequest
から予想されるCsrfToken
をロードします- 次で指定:
- インターフェース
CsrfTokenRepository
のloadToken
- パラメーター:
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
はそれを設定しません
withHttpOnlyFalse
public static CookieCsrfTokenRepository withHttpOnlyFalse()
setCookieHttpOnly(boolean)
を false に設定したインスタンスを簡単に作成するためのファクトリメソッド。- 戻り値:
setCookieHttpOnly(boolean)
が false に設定された CookieCsrfTokenRepository のインスタンス
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