Interstage Application Server シングル・サインオン運用ガイド |
目次
索引
![]() ![]() |
第5章 アプリケーションの開発 | > 5.1 Javaアプリケーションの開発 | > 5.1.5 サンプルコード |
本サンプルコードは、画面から入力したユーザID/パスワードで認証を行い、セキュリティポリシーに従って認可を行うアプリケーションです。
サンプルコードは以下のディレクトリに格納されています。以下、サンプルディレクトリと呼びます。
Interstageのインストールディレクトリ:デフォルト
C:\Interstage\F3FMsso\ssoatzag\sample\javaapi
/opt/FJSVssoaz/sample/javaapi
サンプルコードの実行に必要なファイルは以下のとおりです。
ファイル名 |
説明 |
ISSsoJaas.java |
サンプルJavaソース(認証、認可を行うクラス) |
ISSsoAction.java |
サンプルJavaソース(保護リソースをアクセスするクラス) |
isssojaaslogin.conf |
ログイン構成ファイルのサンプル |
isssojaas.policy |
JDK1.3の場合に使用するセキュリティポリシーファイルのサンプル |
isssojaasauth.policy |
JDK1.3の場合に使用するプリンシパルベースのセキュリティポリシーファイルのサンプル |
isssojaas14.policy |
JDK1.4の場合に使用するセキュリティポリシーファイルのサンプル |
以下を準備してください。
CLASSPATH、JAVA_HOME、PATHの環境変数を設定します。
Interstageのインストールディレクトリ:デフォルト
JDKのインストールディレクトリ:"C:\Interstage\JDK13"
C:\>set CLASSPATH= |
# sh |
Interstageのインストールディレクトリ:デフォルト
JDKのインストールディレクトリ:"C:\Interstage\JDK14"
C:\>set CLASSPATH=C:\Interstage\F3FMsso\ssoatzag\lib\isssomod14.jar |
# sh |
サンプルディレクトリ配下のサンプルJavaソースをjavacコマンドでコンパイルします。コンパイルが終了したら、jarコマンドを使用してjarファイル化します。javacコマンド、jarコマンドについては、Sun Microsystems,Inc.から提供されているJ2SDKのドキュメントを参照してください。
Interstageのインストールディレクトリ:デフォルト
C:\>cd C:\Interstage\F3FMsso\ssoatzag\sample\javaapi |
作業用ディレクトリ:"/home/jaastest"
# cp -r /opt/FJSVssoaz/sample/javaapi /home/jaastest # |
サンプルを実行する業務サーバに対するサービスIDファイルの作成をSSO管理者に依頼します。作成したサービスIDファイルはサンプルを実行する業務サーバに格納します。
Interstageのインストールディレクトリ:デフォルト
SSO管理者から入手したサービスIDファイル名:"C:\ssosid\domainsid"
C:\Interstage\F3FMsso\ssoatzag\sample\javaapi>copy C:\ssosid\domainsid C:\Interstage\F3FMsso\ssoatzag\sample\javaapi |
SSO管理者から入手したサービスIDファイル名:"/ssosid/domainsid"
# cp /ssosid/domainsid /home/jaastest/javaapi |
認証サーバがSSL環境で動作している場合、認証サーバのサイト証明書および認証サーバの認証局の証明書を取得し、Interstage証明書環境に登録します。詳細については “トラストストアファイルの作成”を参照してください。
サイト証明書、または認証局の証明書がUTF-8形式の場合、JDK1.4を使用してください。
サンプルログイン構成ファイルisssojaaslogin.confを実行環境に合わせて編集します。authserverオプションに使用する認証サーバのURLを設定します。また、serviceidpathオプションに使用するサービスIDファイルの絶対パス名を設定します。
Interstageのインストールディレクトリ:デフォルト
認証サーバのURL:"https://authenticate_server.fujitsu.com:10443/ssoatcag"
サービスIDファイルの絶対パス名:"C:\Interstage\F3FMsso\ssoatzag\sample\javaapi\domainsid"
/** * sample login config file */ /* This sample does not use Business server configuration. */ com.fujitsu.interstage.sso{ com.fujitsu.interstage.sso.auth.module.ISLoginModule Required authserver="https://authenticate_server.fujitsu.com:10443/ssoatcag" <− ここを編集する serviceidpath="C:\\Interstage\\F3FMsso\\ssoatzag\\sample\\javaapi\\domainsid" <− ここを編集する timeout="20" ; }; |
認証サーバのURL:"https://authenticate_server.fujitsu.com:10443/ssoatcag"
サービスIDファイルの絶対パス名:"/home/jaastest/javaapi/domainsid"
/** * sample login config file */ /* This sample does not use Business server configuration. */ com.fujitsu.interstage.sso{ com.fujitsu.interstage.sso.auth.module.ISLoginModule required authserver="https://authenticate_server.fujitsu.com:10443/ssoatcag" <− ここを編集する serviceidpath="/home/jaastest/javaapi/domainsid" <− ここを編集する timeout="20" ; }; |
セキュリティポリシーファイルisssojaasauth.policyを編集します。サンプルのセキュリティポリシーファイルでは、ユーザID"guest"にプロパティjava.homeの読み込み権、ロール名"administrator"にプロパティuser.homeの読み込み権の認可が設定されています。この部分をSSOリポジトリに登録されているユーザ名およびロール名に変更します。
以下にユーザID"tarou"へプロパティjava.homeの読み込み権、ロール"Admin"へプロパティuser.homeの読み込み権を認可する例を示します。
/* sample policy file */ grant codeBase "file:isssoaction.jar" , principal com.fujitsu.interstage.sso.auth.ISUserPrincipal "tarou" { <− ユーザID permission java.util.PropertyPermission "java.home","read"; }; grant codeBase "file:isssoaction.jar" , principal com.fujitsu.interstage.sso.auth.ISRolePrincipal "Admin" { <− ロール名 permission java.util.PropertyPermission "user.home","read"; }; |
セキュリティポリシーファイルisssojaas14.policyを編集します。サンプルのセキュリティポリシーファイルでは、ユーザID"guest"にプロパティjava.homeの読み込み権、ロール名"administrator"にプロパティuser.homeの読み込み権の認可が設定されています。この部分をSSOリポジトリに登録されているユーザ名およびロール名に変更します。
以下にユーザID"tarou"へプロパティjava.homeの読み込み権、ロール"Admin"へプロパティuser.homeの読み込み権を認可する例を示します。
/* sample policy file */ |
起動方法の例を以下に示します。
トラストストアファイル名:"C:\Interstage\etc\security\env\keystore\.keystore"
C:\>cd C:\Interstage\F3FMsso\ssoatzag\sample\javaapi |
トラストストアファイル名:"/etc/opt/FJSVisas/security/env/keystore/.keystore"
# sh |
トラストストアファイル名:"C:\Interstage\etc\security\env\keystore\.keystore"
C:\>cd C:\Interstage\F3FMsso\ssoatzag\sample\javaapi |
トラストストアファイル名:"/etc/opt/FJSVisas/security/env/keystore/.keystore"
# sh |
サンプルアプリケーションの実行結果は以下のようになります。"UserName="とプロンプトが出力されたら認証サーバに登録されているユーザIDを入力します。"Password="とプロンプトが出力されたらユーザのパスワードを入力します。認証に成功するとユーザの認証情報が出力されます。認証サーバ、リポジトリサーバの設定や実行ユーザ環境によって出力される内容が若干異なります。
ユーザ"tarou"が"Admin"ロールに属している場合
UserName=tarou |
ユーザ"tarou"が"Admin"ロールに属していない場合
UserName=tarou |
目次
索引
![]() ![]() |