Package nablarch.common.web.token
Class TokenUtil
java.lang.Object
nablarch.common.web.token.TokenUtil
トークンを使用した二重サブミットの防止機能のユーティリティ。
 なお、トークンは ExecutionContext#getSessionScopeMap で獲得可能なMapではなく、
 HttpSession に直接格納する。
 これは、SessionConcurrentAccessHandler と併用した場合、トークンはリクエストスレッド毎の
 スナップショット上に保持されるので、本来エラーとなるタイミングでも並行実行されてしまう可能性
 が発生するためである。
- 
Method SummaryModifier and TypeMethodDescriptionstatic Stringトークンを生成し、セッションスコープに設定する。
 トークンの生成は、リクエストスコープに対して一度だけ行い、リクエストスコープ内では一度生成したトークンを使いまわす。static TokenGeneratorstatic booleanisValidToken(HttpRequest request, ExecutionContext context) リクエストパラメータのトークンが有効であるかを判定する。 (注意) 本メソッドはVM単位での同期となる。 ただし、処理内容は軽微かつブロックするような箇所もないので、ボトルネックとなることは無い。
- 
Method Details- 
generateTokenトークンを生成し、セッションスコープに設定する。
 トークンの生成は、リクエストスコープに対して一度だけ行い、リクエストスコープ内では一度生成したトークンを使いまわす。- Parameters:
- request- リクエスト
- Returns:
- 生成したトークン
 
- 
getTokenGenerator- Returns:
- TokenGenerator
 
- 
isValidToken@Published(tag="architect") public static boolean isValidToken(HttpRequest request, ExecutionContext context) throws ClassCastException リクエストパラメータのトークンが有効であるかを判定する。 (注意) 本メソッドはVM単位での同期となる。 ただし、処理内容は軽微かつブロックするような箇所もないので、ボトルネックとなることは無い。- Parameters:
- request- リクエスト
- context- コンテキスト
- Returns:
- トークンが有効な場合はtrue、有効でない場合はfalse
- Throws:
- ClassCastException- Webコンテナ外で本メソッドが実行された場合。
 
 
-