Java logincontext.login()はどのように機能しますか?
-
02-10-2019 - |
質問
JAVAクライアントの構成を作成するこのコードがあり、JBOSSアプリケーションサーバーに接続します。
System.setProperty( "java.security.auth.login.config", "auth.conf" );
LoginContext auth = new LoginContext( "myAuth",
new LoginCallbackHandler( username, password ) );
auth.login();
ファイル auth.conf
次の行が含まれています。
myAuth {
org.jboss.security.ClientLoginModule required;
};
さて、コードのどこか他の場所(logincontext auth
そこには知られていない)私は行うEJBを持っている initialContext.lookup( jndiName )
そしてa narrow()
JBOSSアプリケーションサーバーのBeanにアクセスします。これ narrow
最初のステップのログイン情報が正しかった場合にのみ成功します。
質問
ログイン情報はどのように伝播しますか LoginContext
に narrow()
?これらの2つの場所の間には関係がありません。
さらに、1つのクライアント内で2つ以上の異なるログインを行うにはどうすればよいですか?
解決
で素敵な説明を見つけました JBossドキュメント(第8.4.1章):
login()
呼び出しは、クライアントのJBoss EJBレイヤーに名前とパスワードのみをバインドします。後続のすべてのEJBコールは、これらの資格情報を使用し、呼び出したEJBメソッドに渡します。
所属していません StackOverflow