Cosminexus V9 アプリケーションサーバ 機能解説 セキュリティ管理機能編
EJBクライアントアプリケーションでは,J2EEサーバで定義されたユーザとパスワードを使用してユーザを認証できます。EJBクライアントアプリケーションからユーザを認証してログインすると,セキュリティロールが設定されたEnterprise Beanのメソッドを呼び出せます。
EJBクライアントアプリケーションでのセキュリティは,Application Serverが提供するAPIを使用して実装します。ここでは,セキュリティを実装する場合の前提条件および実装方法を示します。APIの機能と文法については,マニュアル「アプリケーションサーバ リファレンス API編」の「4. EJBクライアントアプリケーションで使用するAPI」を参照してください。
セキュリティを実装する前に,次の前提条件を満たしているか確認してください。
EJBクライアントアプリケーションでセキュリティを実装する手順を次に示します。
import com.hitachi.software.ejb.security.base.authentication.* |
| LoginInfoManager lm = LoginInfoManager.getLoginInfoManager(); |
lm.login(username, password); |
lm.logout(); |
Enterprise Bean名がaccountの場合に,getAccountIDメソッドを呼び出すサンプルプログラムを次に示します。
import com.hitachi.software.ejb.security.base.authentication.*;
:
try {
LoginInfoManager lm = LoginInfoManager.getLoginInfoManager();
String userName = System.getProperty("username");
String password = System.getProperty("password");
if(lm.login(userName , password)) {
try {
System.out.println("user:" + userName + "login success");
Context ctx = new InitialContext();
java.lang.Object obj = ctx.lookup(appUnitPath + "Account");
AccountHome aHome =
(AccountHome)PortableRemoteObject.narrow(obj,AccountHome.class);
Account account = aHome.create();
account.getAccountID();
} finally {
lm.logout();
}
}
} catch(NotFoundServerException e) {
System.out.println("not found server");
} catch(InvalidUserNameException e) {
System.out.println("invalid user name");
} catch(InvalidPasswordException e) {
System.out.println("invalid password");
} catch(Exception e) {
e.printStackTrace();
}
|
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.