Package nablarch.fw.web.handler
Class CsrfTokenVerificationHandler
java.lang.Object
nablarch.fw.web.handler.CsrfTokenVerificationHandler
- All Implemented Interfaces:
Handler<HttpRequest,
,HttpResponse> HttpRequestHandler
CSRFトークンの検証を行うハンドラ。
本ハンドラの処理は次の順番で行われる。
- セッションストアからCSRFトークンを取得する
- 取得できなかった場合はCSRFトークンを生成してセッションストアへ保存する
- HTTPリクエストが検証対象かどうかを判定する
- 検証対象の場合はHTTPリクエストヘッダ、またはHTTPリクエストパラメータからCSRFトークンを取得して検証を行う
- 検証に失敗した場合はBadRequest(400)のレスポンスを返す
- 検証に成功した場合は次のハンドラへ処理を移す
- Author:
- Uragami Taichi
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionhandle
(HttpRequest request, ExecutionContext context) HTTPリクエストに対する処理を実行する。void
setCsrfTokenGenerator
(CsrfTokenGenerator csrfTokenGenerator) CSRFトークンの生成を行うインターフェースを設定する。void
setVerificationFailureHandler
(VerificationFailureHandler verificationFailureHandler) CSRFトークンの検証失敗時の処理を行うインタフェースを設定する。void
setVerificationTargetMatcher
(VerificationTargetMatcher verificationTargetMatcher) HTTPリクエストがCSRFトークンの検証対象となるか判定を行うインターフェースを設定する。
-
Field Details
-
REQUEST_REGENERATE_KEY
CSRFトークン再生成の要求を表す値をリクエストスコープに設定する際に使用するキー- See Also:
-
-
Constructor Details
-
CsrfTokenVerificationHandler
public CsrfTokenVerificationHandler()
-
-
Method Details
-
handle
Description copied from interface:HttpRequestHandler
HTTPリクエストに対する処理を実行する。- Specified by:
handle
in interfaceHandler<HttpRequest,
HttpResponse> - Specified by:
handle
in interfaceHttpRequestHandler
- Parameters:
request
- HTTPリクエストオブジェクトcontext
- サーバサイド実行コンテキストオブジェクト- Returns:
- HTTPレスポンスオブジェクト
-
setCsrfTokenGenerator
CSRFトークンの生成を行うインターフェースを設定する。- Parameters:
csrfTokenGenerator
- CSRFトークンの生成を行うインターフェース
-
setVerificationTargetMatcher
HTTPリクエストがCSRFトークンの検証対象となるか判定を行うインターフェースを設定する。- Parameters:
verificationTargetMatcher
- HTTPリクエストがCSRFトークンの検証対象となるか判定を行うインターフェース
-
setVerificationFailureHandler
CSRFトークンの検証失敗時の処理を行うインタフェースを設定する。- Parameters:
verificationFailureHandler
- CSRFトークンの検証失敗時の処理を行うインタフェース
-