SecureTokenManagerオブジェクト
コンポーネント情報 | |
---|---|
version | 8.0.11 |
since | 8.0.0 |
SecureTokenを管理するクラスです。
このクラスは、SecureTokenの生成、および、正当性のチェックを行います。
SecureTokenでは、正規の手順を辿っているアクセスに対して実行を許可し、そうではない不正なアクセスをブロックします。
リクエストが正規の手順で実行されているかどうかの判定は、対象のページより前にアクセスする画面でアクセスしたことを示すトークンを発行することで判定します。
具体的には、以下のようなリクエストを遮断できます。
トークンを生成する方法として以下の方法があります。
トークンの整合性をチェックする方法として以下の方法があります。
このクラスは、SecureTokenの生成、および、正当性のチェックを行います。
SecureTokenとは?
データを登録するためのURLや、ログイン処理を実行するためのURLに直接アクセスし、不正な処理の要求を防ぐための技術です。SecureTokenでは、正規の手順を辿っているアクセスに対して実行を許可し、そうではない不正なアクセスをブロックします。
リクエストが正規の手順で実行されているかどうかの判定は、対象のページより前にアクセスする画面でアクセスしたことを示すトークンを発行することで判定します。
- サーバは正規のアクセスに対しトークンを発行し、クライアントに送信します。トークンはセッションに保存しておきます。
- クライアントは、サーバから受け取ったトークンをリクエストパラメータに入れて次の画面にアクセスする要求をします。
- サーバはセッションに保存したトークンと、リクエストで送信されたトークンを比較します。トークンが一致すれば、正規なアクセスなのでアクセスを許可します。
- トークンが一致しない、あるいは、トークン自体を送信してこないアクセスは、正規手順ではないアクセスなのでアクセスを許可しません。
具体的には、以下のようなリクエストを遮断できます。
- ログイン画面を表示していないのに、ログイン処理URLにアクセスされた場合。
- 登録情報入力画面を表示していないのに、登録処理URLにアクセスされた場合。
トークンを生成する方法として以下の方法があります。
- 本クラスの SecureTokenManager#createToken メソッドを使用する
- imSecureTokenタグを使用する
トークンの整合性をチェックする方法として以下の方法があります。
- 本クラスの SecureTokenManager#verify メソッドを使用する
- トークンフィルタを使用する
詳しくは、設定ファイルリファレンス の「 セキュア・トークンフィルタ設定 」を参照してください。
定数
型 | 定数名 | 定数値 |
---|---|---|
Stringstatic | REQUEST_PARAMETER_NAME リクエストパラメータのキー値 |
"im_secure_token" |
コンストラクタの概要
SecureTokenManager () コンストラクタ |
メソッドの概要
返却値の型 | メソッド名 |
---|---|
ResultObject | createToken (Boolean useOneTimeToken , Object [parameter] ) トークン文字列を取得します。 |
ResultObject | verify (String [token] , Object [parameter] ) トークンの正当性をチェックします。トークンがリクエストパラメータに含まれていて、かつパラメータが改変されていない場合は true を返します。 |
コンストラクタの詳細
SecureTokenManager ()
コンストラクタ
|
メソッドの詳細
ResultObject createToken (Boolean useOneTimeToken , Object [parameter] )
トークン文字列を取得します。
パラメータ
返却値
|
ResultObject verify (String [token] , Object [parameter] )
トークンの正当性をチェックします。トークンがリクエストパラメータに含まれていて、かつパラメータが改変されていない場合は
true を返します。引数 token およびparameter が指定されていない場合は、トークンをリクエストパラメータから取得して検証を行います。引数 token が指定されている場合は、引数のトークンを利用して検証を行います。(この引数はintra-mart Accel Platform 2015 Summer(version
8.0.11)以降、利用可能です。)以下の場合は false を返します。
以下のシステムプロパティの値をtrueに設定することで、必ず true を返却します。(開発用です。運用中は利用しないでください。)
jp.co.intra_mart.foundation.secure_token.SecureTokenManager.ignore_token_check
パラメータ
返却値
|