经过广泛搜索后,我没有找到解决此问题的方法。 我正在尝试将EJB层移动到远程应用服务器。
Web层:在.ear中部署的JSF Web应用程序。身份验证是通过JDBC领域进行容器管理的。
业务层:包含EJB模块的.ear文件,该模块使用带角色的声明性安全性。
当两者驻留在同一个应用服务器上时,这意味着相同的JVM,透明地传递主体和角色。
但是,当我将业务层.ear部署到远程应用程序服务器上时,在另一个JVM上,调用显然会停止工作,而用户没有足够的权限。
主要问题是,是否可以仅传递主体和角色,而无需再次向用户服务器重新验证用户?
我已经阅读了Propagating a Security Identity,这给我带来了更多的困惑,特别是在这一段中#34;容器之间的信任":
当企业bean被设计为原始调用者时 身份或指定的身份用于调用目标bean, 目标bean只接收传播的身份。目标bean 将不会收到任何身份验证数据。