我有这个代码来创建一个 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;
};
现在,在代码的其他地方(auth
那里不知道 LoginContext)我有一个 EJB,它执行 ainitialContext.lookup( jndiName )
和 anarrow()
来访问 JBoss 应用程序服务器上的 Bean。这narrow
只有在第一步的登录信息正确的情况下才会成功。
问题
登录信息如何从 传播LoginContext
到narrow()
?我看不出这两个地方有什么联系。
此外,我如何在一个客户端内进行两次或更多不同的登录?