Cosminexus 機能解説
- loginメソッド
シングルサインオンに対応するには,最初にsharedState内にユーザIDとパスワードが指定されていないか判断してください。なお,sharedStateからユーザIDとパスワードを取得するための名前については,統合ユーザ管理フレームワークのコンフィグレーションファイルで指定できます。
- commitメソッド
PrincipalオブジェクトをSubjectに設定してください。Principalオブジェクトが複数ある場合,WebSSOLoginModuleおよびDelegationLoginModuleでは最初に見つかったPrincipalオブジェクトを使用して統合ユーザ管理のセッションへユーザIDの登録をします。シングルサインオンの場合は,最初にログインしたユーザIDを認識するために使用します。
- logoutメソッド
logoutメソッドは,commitメソッドでSubjectに関連づけたPrincipalオブジェクトやCredential(ユーザ属性など)を削除しますが,logoutメソッド使用時に次の現象が発生することがあります。
- logoutメソッドが呼ばれたとき,SubjectにCredentialが設定されない
- ログアウト時にカスタムログインモジュールのcommitメソッドまたはloginメソッドで設定したメンバ属性の値が参照できない
Credentialが設定されない現象は,シリアライズ化できるSubjectオブジェクトのシリアライズ対象に,Credentialが含まれていないために発生することがあります。
ログアウト時にメンバ属性の値が参照できない現象は,JAASのLoginContext(LoginModuleを含む)がシリアライズ化されたオブジェクトではないために発生します。LoginContextはHttpSessionにSubjectオブジェクトを格納し,ログアウトするためにSubjectオブジェクトから新たなログインモジュールのインスタンスを生成するため,commitメソッドやloginメソッドで設定したメンバ属性の値が参照できなくなります。
Principalオブジェクトは,java.security.Principalとjava.io.Serializableのインタフェースを継承して実装してください。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.