org.seasar.cubby.internal.util
クラス TokenHelper

java.lang.Object
  上位を拡張 org.seasar.cubby.internal.util.TokenHelper

public class TokenHelper
extends Object

2重サブミット防止処理のヘルパークラス

作成者:
agata
関連項目:
TokenTag, TokenValidator

フィールドの概要
static String DEFAULT_TOKEN_NAME
          デフォルトのトークン用パラメータ名
 
コンストラクタの概要
TokenHelper()
           
 
メソッドの概要
static String generateGUID()
          ユニークなトークンを生成します。
static Map<String,String> getTokenMap(HttpSession session)
          トークン用の Map をセッションから取得します。
static void setToken(HttpSession session, String token)
          トークンをセッション中のトークン用の Map にセットします。
static boolean validateToken(HttpSession session, String token)
          パラメータ中のトークン文字列とセッション中のトークン文字列を検証します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DEFAULT_TOKEN_NAME

public static final String DEFAULT_TOKEN_NAME
デフォルトのトークン用パラメータ名

関連項目:
定数フィールド値
コンストラクタの詳細

TokenHelper

public TokenHelper()
メソッドの詳細

generateGUID

public static String generateGUID()
ユニークなトークンを生成します。

戻り値:
ユニークなトークン

getTokenMap

public static Map<String,String> getTokenMap(HttpSession session)
トークン用の Map をセッションから取得します。

セッション中にトークン用の Map が存在しない場合、新規に生成します。 トークン用のマップは LruHashMap を使い、トークンの保持上限付きの Map になります。

パラメータ:
session - セッション
戻り値:
トークン用のマップ

setToken

public static void setToken(HttpSession session,
                            String token)
トークンをセッション中のトークン用の Map にセットします。

パラメータ:
session - セッション
token - トークン文字列

validateToken

public static boolean validateToken(HttpSession session,
                                    String token)
パラメータ中のトークン文字列とセッション中のトークン文字列を検証します。

セッション中に格納されたトークン用の Map のキーに指定されたトークン文字列が含まれるかどうかを判定し、 Map から取り除きます。

パラメータ:
session - セッション
token - トークン文字列
戻り値:
指定されたトークン文字列がセッション中に存在したらtrue、それ以外は false


Copyright © 2006-2010 The Seasar Foundation. All Rights Reserved.