質問

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 最初のステップのログイン情報が正しかった場合にのみ成功します。

質問

ログイン情報はどのように伝播しますか LoginContextnarrow()?これらの2つの場所の間には関係がありません。

さらに、1つのクライアント内で2つ以上の異なるログインを行うにはどうすればよいですか?

役に立ちましたか?

解決

で素敵な説明を見つけました JBossドキュメント(第8.4.1章):

jboss jaas login

login() 呼び出しは、クライアントのJBoss EJBレイヤーに名前とパスワードのみをバインドします。後続のすべてのEJBコールは、これらの資格情報を使用し、呼び出したEJBメソッドに渡します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top