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

第7章 アプリケーションの開発> 7.1 Javaアプリケーションの開発> 7.1.2 プログラムの開発

7.1.2.1 CallbackHandlerのインスタンス化

 JAASを使用するにはCallbackHandlerをインスタンス化する必要があります。シングル・サインオンJavaAPIではCallbackHandler実装クラスを提供しています。クラス名はcom.fujitsu.interstage.sso.auth.callback.ISCallbackHandlerです。認証に必要な情報はCallbackHandlerからCallbackを介してLoginModuleへ渡されます。

 “クライアントからユーザID/パスワードを受け取り認証するJavaアプリケーション”の場合、ISCallbackHandlerをクライアントから取得したユーザID/パスワードでインスタンス化します。

CallbackHandler myHandler = new ISCallbackHandler(username, password);

 アプリケーションをスタンドアロンアプリケーションで開発する場合には、クライアントとの通信部分にjavax.net.ssl.SSLSocketを用いて実装するなどセキュアに行う必要があります。

 “クライアントから認証情報を受け取るサーブレットアプリケーション”の場合、ISCallbackHandlerをクライアントから取得したSSO認証済み情報でインスタンス化します。SSO認証済み情報はCookieに格納されています。Cookieのキー名は“fj-is-sso-credential”です。キー名は、com.fujitsu.interstage.sso.auth.ISAuthorizationCredentialクラスのCOOKIE_KEY変数に定義されています。コードを以下に示します。

Cookie cookie = null;
Cookie[] cookies = request.getCookies();
if (cookies != null){
  for (int i=0; i< cookies.length;i++){
    if (cookies[i].getName().equals(
      ISAuthorizationCredential.COOKIE_KEY)){
      cookie = cookies[i];
    }
  }
}
String credentialStr = cookie.getValue();
CallbackHandler myHandler = new ISCallbackHandler(credentialStr);

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

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