1

我正在开发一个包含 EJB 组件并部署在 JBoss EAP 7.0.7 中的 Web 项目。一些 EJB 是从独立的客户端应用程序调用的。

问题是虽然身份验证似乎工作正常,但主体没有传播到 EJB 层,所以当我调用 sessionContext.getCallerPrincipal().getName() 时,它只返回“匿名”。

看来我的配置工作正常。我在我的standalone.xml 和 jboss-web.xml 中设置了一个安全域,然后我注释了我的 EJB 以使用配置的安全域。

当我从 Web 应用程序中调用 EJB 时,它工作得非常好。主体被传播并设置为登录用户(我使用了 HttpServletRequest.login api)。

那么我如何将主体传播到 EJB 层,就像使用 HttpServletRequest.login 传播它一样?是否有任何类似于我提到的可以在独立应用程序中实现的 api?我一直在寻找一段时间,但到目前为止对我没有任何帮助。希望可以有人帮帮我。谢谢!

4

0 回答 0