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 )
和 narrow()
访问JBOSS应用程序服务器上的BEAN。这 narrow
仅当第一步的登录信息正确时才成功。
问题
登录信息如何从 LoginContext
到 narrow()
?我没有看到这两个地方之间的任何联系。
此外,我该如何在一个客户的内部进行两个或更多不同的登录?
解决方案
我在 JBOSS文档(第8.4.1章):
这 login()
调用仅将名称和密码绑定到客户端的JBOSS EJB层。所有后续的EJB调用将使用这些凭据,并将其传递给所谓的EJB方法。
不隶属于 StackOverflow