4.7 認証処理の設定
4.7.2 リクエスト解析モジュール
初期画面(ログイン画面)の要求リクエスト、およびログイン画面からの認証リクエストからログインリクエスト情報を 作成するクラスを定義します。
リクエスト解析モジュールは、複数設定可能です。
複数設定した場合は、設定された順序ですべてのモジュールを実行します。
4.7.2.1 リクエスト解析モジュールインタフェース
パッケージは、jp.co.intra_mart.foundation.security.certificationです。
RequestAnalyzerインタフェース
リクエスト解析モジュールはこのインタフェースを実装する必要があります。
リクエストを解析し、リクエスト情報を返却するメソッドを持ちます。
ExtendsRequestAnalyzerインタフェース
リクエスト解析モジュールはこのインタフェースを実装する必要があります。
リクエストを解析し、リクエスト情報を返却するメソッドを持ちます。
Ver.7.0よりカスタマイズしやすいインタフェースになっています。
Page 110 Copyright 2000-2014 株式会社NTTデータ イントラマート All rights Reserved.
4.7.2.2 リクエスト解析モジュール設定の定義
<super-user-security>、<group-super-user-security>、<user-security>では<initial-request-analyzer>と
<login-request-analyzer>の2カ所に存在します。
<initial-request-analyzer>では、初期画面要求時(ログイン画面要求)のリクエストパラメータを解析します。
<login-request-analyzer>では、ログイン認証時のリクエストパラメータを解析します。
user-securityでの例を以下に示します。
<access-security>
<security-config>
<user-security>
<initial-request-analyzer>
<request-analyzer-class>SampleRequestAnalzer2</request-analyzer-class>
</initial-request-analyzer>
<initial-request-analyzer>
<request-analyzer-class>SampleRequestAnalzer1</request-analyzer-class>
</initial-request-analyzer>
<login-request-analyzer>
<request-analyzer-class>SampleRequestAnalzer1</request-analyzer-class>
</login-request-analyzer>
<login-request-analyzer>
<request-analyzer-class>SampleRequestAnalzer2</request-analyzer-class>
<init-param>
<param-name>text</param-name>
<param-value>xxxx</param-value>
</init-param>
………
</login-request-analyzer>
………
</user-security>
</security-config>
</access-security>
作成者株式会社 NTT データ イントラマート Page 111
<initial-request-analyzer> 初期画面要求時のリクエストパラメータを解析するモジュールを設定します。
(複数設定可能)
<super-user-security>、<group-super-user-security>、<user-security>タグに存在 します。
複数設定した場合は、設定した順序で、すべてのモジュールを実行します。
<request-analyzer-class> 初期画面要求時のリクエストパラメータを解析するクラスを設定します。
RequestAnalyzser または ExtendsRequestAnalyzser インタフェースを実装
する必要があります。
<init-param> このクラスに渡す初期化パラメータです。(複数指定可能)
このクラスが生成された時に一度だけこのパラメータで初期化します。
ExtendsRequestAnalyzserではモジュール初期化インタフェースを実装する
必要があります。
<login-request-analyzer> ログイン認証要求時のリクエストパラメータを解析するモジュールを設定します。
(複数指定可能)
<super-user-security>、<group-super-user-security>、<user-security>タグに存在 します。
複数設定した場合は、設定した順序で、すべてのモジュールを実行します。
<request-analyzer-class> ログイン認証面要求時のリクエストパラメータを解析するクラスを設定しま
す。
RequestAnalyzser または ExtendsRequestAnalyzser インタフェースを実装
する必要があります。
<init-param> このクラスに渡す初期化パラメータです。
(複数指定可能)
このクラスが生成された時に一度だけこのパラメータで初期化します。
ExtendsRequestAnalyzserではモジュール初期化インタフェースを実装する
必要があります。
Page 112 Copyright 2000-2014 株式会社NTTデータ イントラマート All rights Reserved.
4.7.2.3 リクエスト解析モジュール実装クラス
jp.co.intra_mart.foundation.security.certification.StandardRequestAnalyzerクラス 標準のログインリクエスト解析クラス。
各リクエストパラメータから情報を取得してLoginInfoに設定します。
各リクエストパラメータから情報が取得されなかったものは、LoginInfoに設定しません。
解析では、デフォルトのリクエストパラメータ「表 53 ログインリクエストパラメータ一覧」を使用して各情報を 取得します。
図 52 StandardRequestAnalyzerクラス
StandardRequestAnalyzerクラスのパラメータ
StandardRequestAnalyzerクラスでは、各リクエストパラメータ名を変更できます。
パラメータを指定しない場合は「表 53 ログインリクエストパラメータ一覧」の値が使用されます。
表 55 StandardRequestAnalyzerクラスのパラメータの一覧 パラメータ名 説明
login-type ログインタイプが設定されるパラメータ名を設定。
client-type クライアントタイプが設定されるパラメータ名を設定。
locale ロケールが設定されるパラメータ名を設定。
encoding エンコーディングが設定されるパラメータ名を設定。
login-group ログイングループが設定されるパラメータ名を設定。
user ユーザIDが設定されるパラメータ名を設定。
passward パスワードが設定されるパラメータ名を設定。
作成者株式会社 NTT データ イントラマート Page 113 標準の認証ログインリクエスト解析クラス。
ユーザおよびパスワードのリクエストパラメータから情報を取得してLoginInfoに設定します。各リクエストパ ラメータから情報が取得されなかったものは、LoginInfoに設定しません。
解析では、デフォルトのリクエストパラメータ「表 53 ログインリクエストパラメータ一覧」を使用して各情報を 取得します。
図 53 StandardLoginRequestAnalyzerクラス
StandardLoginRequestAnalyzerクラスのパラメータ
StandardLoginRequestAnalyzerクラスでは、各リクエストパラメータ名を変更できます。
パラメータを指定しない場合は「表 53 ログインリクエストパラメータ一覧」の値が使用されます。
表 56 StandardLoginRequestAnalyzerクラスのパラメータの一覧 パラメータ名 説明
user ユーザIDが設定されるパラメータ名を設定。
passward パスワードが設定されるパラメータ名を設定。
jp.co.intra_mart.foundation.security.certification.SSORequestAnalyzerクラス SSOのログインリクエスト解析クラス。
各リクエストパラメータから情報を取得してLoginInfoに設定します。
各リクエストパラメータから情報が取得されなかったものは、LoginInfoに設定しません。
解析では、im-SecureSginOnのクッキー情報からログイン情報を取得します。
m-SecureSginOnのクッキー情報からアカウントの情報が取得できた場合は、認証は完了したとみなします。
図 54 SSORequestAnalyzerクラス
SSORequestAnalyzerクラスのパラメータ
SSORequestAnalyzerクラスでは、ログアウト時のURLを設定できます。
表 57 SSORequestAnalyzerクラスのパラメータの一覧
パラメータ名 説明
sso-logout-url ログアウト時に呼び出されるURLを設定
Page 114 Copyright 2000-2014 株式会社NTTデータ イントラマート All rights Reserved.
ショートカットIDをリクエストパラメータから取得してLoginInfoに設定します。
リクエストパラメータからショートカットIDが取得されなかった場合はLoginInfoに設定しません。
ショートカット ID に紐づくショートカット情報に、認証が不要の設定がされていた場合、認証は完了したと みなします。
解析では、デフォルトのリクエストパラメータ名を使用して情報を取得します。
図 55 ShortCutInitialRequestAnalyzerクラス
ShortCutInitialRequestAnalyzerクラスのパラメータ
ShortCutInitialRequestAnalyzerクラスでは、各リクエストパラメータ名を変更できます。
パラメータを設定しない場合は、デフォルト値が使用されます。
表 58 StandardLoginRequestAnalyzerクラスのパラメータの一覧
パラメータ名 説明 デフォルト値
shortcut ショートカットIDが設定されるパラメータ名を設定します。 im_shortcut
jp.co.intra_mart.foundation.security.certification.DirectUrlInitialRequestAnalyzer ク ラ ス ダ イ レ ク ト URLログインリクエスト解析クラス。
ダイレクトURLとダイレクトURL署名をリクエストパラメータから取得してLoginInfoに設定します。
リクエストパラメータから情報が取得されなかった場合はLoginInfoに設定しません。
解析では、デフォルトのリクエストパラメータ名を使用して情報を取得します。
図 56 ShortCutInitialRequestAnalyzerクラス
DirectUrlInitialRequestAnalyzerクラスのパラメータ
DirectUrlInitialRequestAnalyzerクラスでは、各リクエストパラメータ名を変更できます。
パラメータを設定しない場合は、デフォルト値が使用されます。
表 59 StandardLoginRequestAnalyzerクラスのパラメータの一覧
パラメータ名 説明 デフォルト値
url ダイレクトURLが設定されるパラメータ名を設定します。 im_url
url-sign ダイレクトURL署名が設定されるパラメータ名を設定します。 im_url_sign
作成者株式会社 NTT データ イントラマート Page 115 かんたんログイン用のログインリクエスト解析クラス。
まず、クライアントから送信されたモバイル端末個体識別番号を取得し、該当するアカウントを特定します。
次に、そのアカウントの属性情報、モバイルパスワード、モバイル端末個体識別番号を元にアクセスキー を算出します。(参照:APIリスト「jp.co.intra_mart.foundation.security.mobile.MobileEasyLoginUtil」クラス)
最後に、算出したアクセスキーと、クライアントから送信されたアクセスキーを比較し、合致した場合のみ、
認証が完了したとみなします。
図 57 MobileAgentLoginRequestAnalyzerクラス
Page 116 Copyright 2000-2014 株式会社NTTデータ イントラマート All rights Reserved.