Interstage Application Server シングル・サインオン運用ガイド
目次 索引 前ページ次ページ

第5章 アプリケーションの開発 > 5.1 Javaアプリケーションの開発 > 5.1.2 プログラムの開発

5.1.2.4 利用者情報の取得

 認証に成功した場合、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の場合
com.sun.security.auth.X500Principal
または
JDK1.4の場合
javax.security.auth.x500.X500Principal

利用者のSSOリポジトリ内の一意の識別名を表します。

 コードを以下に示します。

Set principals = subject.getPrincipals();
iterator = principals.iterator();
while (iterator.hasNext()) {
  Principal principal = (Principal)iterator.next();
  System.out.println("Principal=" + principal.getName());
}

image


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2003