[英]Why does a LoginContext producer work in a Java EE/Servlet container?
[英]How does java LoginContext.login() work?
我有以下代码来创建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
传播到LoginContext
narrow()
? 我看不到这两个地方之间的任何联系。
而且,如何在一个客户端中进行两个或多个不同的登录?
我在JBoss文档(第8.4.1章)中找到了一个很好的解释:
login()
调用仅将名称和密码绑定到客户端的JBoss EJB层。 所有后续的EJB调用都将使用这些凭据,并将它们传递给被调用的EJB方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.