Cosminexus 機能解説

[目次][用語][索引][前へ][次へ]

13.1.5 ユーザ認証の有効期間と認証状態の引き継ぎ

JAASでのユーザ認証の有効期限は,loginメソッドの成功からlogoutメソッドを呼び出すまでです。

J2EEのWebアプリケーションでは,ユーザとの仮想的なセッションをHttpSessionオブジェクトでコントロールします。複数のHTTPプロトコルの通信を一連のセッションとして扱う場合は,WebアプリケーションでCookieまたはURL書き換えなどでHttpSessionオブジェクトと要求ユーザの結び付けをするようにコーディングします。

統合ユーザ管理フレームワークでは,ユーザ認証に成功した状態をHttpSessionオブジェクトで記憶しています。同一HttpSessionオブジェクトを利用した要求で,かつ同一レルムの場合に限り,2回目以降のログインでは,自動的に最初のログインで指定されたユーザの認証情報(ユーザID/パスワード)を使用して認証状態の引き継ぎをするため,エンドユーザからの認証情報の入力を省略できます。

ただし,次の表に示す順序でログインモジュールが使用された場合,エンドユーザから認証情報の入力を省略する機能は働きません。それぞれのログインモジュールの機能については,「13.2 Cosminexus標準ログインモジュールによるユーザ認証の仕組み」を参照してください。

表13-3 エンドユーザから認証情報の入力を省略する機能が働かない使用順序

使用順序 使用するログインモジュール
1回目のログイン
  • DelegationLoginModule(カスタムログインモジュールやWebCertificateLoginModuleを呼び出す場合)
  • WebCertificateLoginModule
  • WebSSOLoginModule(カスタムログインモジュールやWebCertificateLoginModuleを呼び出す場合)
2回目以降のログイン
  • WebPasswordLDAPLoginModule

また,次の表に示す順序でログインモジュールを使用する場合,WebPasswordLDAPLoginModuleによる2回目以降のログインで認証情報の入力を省略するためには,最初のログインで使用するログインモジュールでパスワードを統合ユーザ管理のセッションに保持する必要があります。さらに,WebPasswordLDAPLoginModuleでの2回目以降のログインに使用するパスワードが最初のログインで保持したパスワードと同じでなければなりません。パスワードを保持するかどうか,および保持する場合に暗号化をするかどうかは,jaas.conf(JAASのコンフィグレーションファイル)およびua.conf(統合ユーザ管理のコンフィグレーションファイル)で指定できます。指定方法については,マニュアル「Cosminexus リファレンス 定義編」を参照してください。

表13-4 2回目以降のログインで認証情報の入力を省略するために条件がある使用順序

使用順序 使用するログインモジュール
1回目のログイン
  • WebPasswordLoginModule
  • WebPasswordJDBCLoginModule
  • WebPasswordLDAPLoginModule
2回目以降のログイン
  • WebPasswordLDAPLoginModule

保持するパスワードを暗号化しない場合,J2EEサーバが使用するメモリの内容を何らかの方法で参照されるとパスワードが漏洩する可能性があります。また,セッションフェイルオーバ機能を使用する場合,パスワードを含むセッション情報がネットワークを流れるため,パスワードが盗聴されるおそれがあります。暗号化をすることで,パスワードが漏洩するおそれは少なくなりますが,性能は劣化します。暗号化をするかどうかは,必要とするセキュリティや性能に応じて決定してください。なお,暗号化する場合,暗号アルゴリズムにはトリプルDESが使用されます。