我正在尝试为以下架构实现安全性:
我正在考虑使用JBoss安全性,其中涉及:
我之前在一个JBoss中使用它并在JBoss的Tomcat中配置web.xml。然后使用jboss-web.xml将我的Web应用程序绑定到我在JBoss中创建的安全域。
现在我关心的是如何使用两个独立的服务器:一个Tomcat Web容器,它可以远程调用后端JBoss。我的问题:
答案 0 :(得分:2)
远程访问LoginModule没有标准方法。因此,如果您想在后端使用后端的loginmodule作为JAAS loginmodule,则必须从后端公开逻辑,例如:作为REST或WS服务,并在Tomcat中创建自定义loginmodule以远程调用它。
理论上,如果您通过JNDI查找后端EJB并对其执行安全方法调用,则应传播JAAS安全上下文。在实践中,每个AS都以不同的方式处理,我从未在不同的AS之间看到它。
还有一种方法,就是使用Spring Security。请参阅包org.springframework.security.remoting.httpinvoker和org.springframework.security.remoting.rmi。但这要求您一直使用Spring Remoting和Spring Security。