如何实施EAR范围的JAAS

时间:2011-02-28 11:55:16

标签: java security java-ee jaas geronimo

我想在包含多个战争的整个EAR文件中实现JAAS。

我已成功地在每场战争中进行了设置,但这意味着当用户在战争之间切换(通过它们之间的超链接)时,他们必须再次登录每个战争,即使每个战争配置为使用相同的领域。

如何为整个EAR创建单点登录流程?

感谢。

2 个答案:

答案 0 :(得分:2)

这通常是特定于容器的。 对于JBoss,您可以使用yourapp.ear/META-INF/jboss-app.xml来实现此目的。在这里,您定义一个指向相应登录策略的security-domain元素。摘录自DTD:

  

<! - 安全域元素   指定的JNDI名称   实现的安全管理器   EJBSecurityManager和RealmMapping   对于域名。当指定时   它指定的jboss级别   所有j2ee的安全域   部署单元中的组件   人们可以覆盖全局   容器上的安全域
  使用安全域的级别   容器配置中的元素   水平。

     

用于:jboss-app    - >

     

<!ELEMENT security-domain(#PCDATA)>

答案 1 :(得分:2)

我找到了答案! - 在同一个servlet上下文中的所有应用程序和相同的安全领域单点登录。它可以与tomcat一起使用。我只是按照以下网址的建议更新了config.xml,它现在只要求登录一次。

http://publib.boulder.ibm.com/wasce/V2.1.0/en/valves.html#Valves-AddingtheSingleSignonValvetotheinitialvalvechain