クラス 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()
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 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)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 に設定したインスタンスを簡単に作成するためのファクトリメソッド。
メソッドの詳細
generateToken
public CsrfToken generateToken(javax.servlet.http.HttpServletRequest request)
インターフェースからコピーされた説明:CsrfTokenRepositoryCsrfTokenを生成します- 次で指定:
- インターフェース
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- 使用するHttpServletRequestresponse- 使用するHttpServletResponse
loadToken
public CsrfToken loadToken(javax.servlet.http.HttpServletRequest request)
インターフェースからコピーされた説明:CsrfTokenRepositoryHttpServletRequestから予想される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