JAAS里无法让多个角色都有权限访问某个资源?

我想让user,com,和sysAdmin都有权限访问index_user.jsp;他们之间是或的关系,就是说每个独立的角色都可以访问index_user.jsp

可是我测试的时候发现,只有同时具有user,com和sysAdmin权限的用户才能访问index_user.jsp;
我的配置文件是:


<security-constraint>
<display-name>sysadmin</display-name>
<web-resource-collection>
<web-resource-name>sysAdminRec</web-resource-name>
<url-pattern>/index_user.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>sysadmin</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<display-name>companyadmin</display-name>
<web-resource-collection>
<web-resource-name>com</web-resource-name>
<url-pattern>/index_user.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>com</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<display-name>user</display-name>
<web-resource-collection>
<url-pattern>/index_user.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>user</role-name>
</auth-constraint>
</security-constraint>

三个角色应该写在一个资源配置里吧?



<auth-constraint>
<role-name>SecurityRole1</role-name>
<role-name>SecurityRole2</role-name>
<role-name>SecurityRole3</role-name>
</auth-constraint>

谢谢老大! :)


这个开源框架也不错,和基于容器的JAAS差不同,不同的是可以跨多个不同产品服务器,跟着应用走,可以和工作流/Jdon框架等框架结合使用。