我需要实现 JAAS 身份验证以从客户端和服务器端在 Weblogic 中查找 EJB bean。对于客户端,此代码可以正常工作:
LoginContext loginContext = null;
loginContext = new LoginContext("Sample", new WeblogicCallbackHandler("weblogic", "PaSsWoRd", "localhost:7001"));
loginContext.login();
subject = loginContext.getSubject();
weblogic.security.Security.runAs(subject, new PrivilegedExceptionAction<Object>() {
@Override
public Object run() throws Exception {
Object remote = iniCtx.lookup(SOME_BEAN_REF);
Object home = PortableRemoteObject.narrow(remote, SOME_BEAN_HOME_CLASS);
return homeClass.getMethod("create", new Class[] {}).invoke(home, new Object[] {});
}
});
现在我需要做同样的事情来从 EJB 中查找 EJB。
但是我应该在这里使用什么 URL?
它总是“localhost:7001”吗?
既然我肯定在 Weblogic 内部,那么提供 URL 是否有意义?