java - Ejb Websphere 登录返回空主题
问题描述
我正在尝试让主题执行部署在我的 WebSphere 实例上的 EJB。
正如文档所说,我正在尝试使用此身份验证
Subject subject;
LoginContext lc = null;
InitialContext initialContext = createInitialContext(serverName, serverPort);
initialContext.lookup("");
lc = new LoginContext(JAAS_MODULE, new WSCallbackHandlerImpl(userId, "", password));
lc.login();
subject = lc.getSubject();
InitialContext createInitialContext(String serverName, String serverPort) throws NamingException {
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY, INITIAL_CONTEXT_FACTORY);
String providerUrl = String.format("corbaloc:iiop:%s:%s", serverName, serverPort);
env.put(Context.PROVIDER_URL, providerUrl);
return new InitialContext(env);
}
在 lc.login 调用之后,主题内部不包含任何主体。我只是收到一个空的主体,它对执行 ejb 没用。还有其他人遇到过这个问题吗?
解决方案
推荐阅读
- javascript - 如何检测 iOS 浏览器的地址栏是否显示/隐藏?
- java - 在 kotlin/java/spring boot 中向类路径添加资源,使用 gradle 作为构建工具
- node.js - Typeorm 返回。正在返回连接字符串而不是数据
- integer - 如何在 Maxima CAS 中简化 log(8)/log(2)?
- android - 有三个错误与预期元素和未解决的引用有关
- kubernetes - Kubernetes 部署/Pod/容器状态
- one-to-many - .Net core Razor Pages 添加许多子行
- reactjs - 如何在我的 React 应用程序上使用 localStorage?
- scala - 在 Scala 中将 Spark SQL 函数名称作为参数传递
- c++ - 类中的静态对象(单例)