Interstage Application Server シングル・サインオン運用ガイド |
目次
索引
![]() ![]() |
第5章 アプリケーションの開発 | > 5.1 Javaアプリケーションの開発 | > 5.1.2 プログラムの開発 |
認証に成功した場合、LoginContextをインスタンス化する際に指定したSubjectオブジェクトに対して以下のオブジェクトが関連付けられます。
認証情報を表すオブジェクトはSubjectオブジェクトの以下のメソッドで取得することができます。
getPrivateCredentials()メソッドはSubjectオブジェクトに関連付けられているすべてのプリンシパルオブジェクトの集合を取得できます。getPrivateCredentials(Class c)メソッドは、Subjectオブジェクトに関連付けられているすべてのプリンシパルオブジェクトのうち、クラスclassまたはそのサブクラスのオブジェクトの集合を取得できます。関連付けられるオブジェクトのクラスと説明を以下に示します。
クラス名 |
説明 |
com.fujitsu.interstage.sso.auth.ISAuthenticationCredential |
認証サーバから返却される認証情報を表します。サーブレットアプリケーションの場合このオブジェクトは含まれません。 |
com.fujitsu.interstage.sso.auth.ISAuthorizationCredential |
認証情報および認証情報内の情報を保持します。 |
コードを以下に示します。
Set credentials = subject.getPrivateCredentials(); // display credential information Iterator iterator = credentials.iterator(); while (iterator.hasNext()) { // 認証情報を参照する処理 } |
プリンシパルオブジェクトはSubjectオブジェクトの以下のメソッドで取得することができます。
この2つのメソッドの違いはgetPrivateCredentialsメソッドと同様です。関連付けられるオブジェクトのクラスと説明を以下に示します。
クラス名 |
説明 |
com.fujitsu.interstage.sso.auth.ISUserPrincipal |
認証された利用者のユーザIDを表します。 |
com.fujitsu.interstage.sso.auth.ISRolePrincipal |
利用者が属するロール名を表します。利用者がロールセットに属する場合、ロールセットに含まれるロールがそれぞれISRolePrincipalのオブジェクトとして関連付けられます。このオブジェクトは0個以上含まれます。 |
JDK1.3の場合 |
利用者のSSOリポジトリ内の一意の識別名を表します。 |
コードを以下に示します。
Set principals = subject.getPrincipals(); iterator = principals.iterator(); while (iterator.hasNext()) { Principal principal = (Principal)iterator.next(); System.out.println("Principal=" + principal.getName()); } |
目次
索引
![]() ![]() |