JSF的Spring ACL?

时间:2012-01-30 16:49:40

标签: spring jsp jsf acl

如何在JSF页面中检查ACL?

对于JSP,我可以使用这样的标记:

<security:accesscontrollist hasPermission="READ" domainObject="${category}">

但是这个标记在JSF页面中是不可识别的。是否有一个组件在JSF页面中执行相同的操作?

1 个答案:

答案 0 :(得分:3)

是的,您可以使用Spring Security Facelets标记库轻松完成此操作。要进行配置,请参阅此link处的文档。然后你可以使用这样的东西:

<h:dataTable  value="#{customer.orderList}" var="order" rendered="#{sec:areAllGranted('ROLE_USER,ROLE_ADMIN')}">
    <h:column>
    </h:column>
</h:dataTable>

如果你使用Primefaces组件库,那么你不需要配置任何东西,你可以直接使用它。这是link

上面的内容将引导您进入您在SID中为每个角色呈现的Collection。但是,如果您甚至拥有域对象的权限,则必须使用带有@PostFilter注释的Spring EL表达式来处理Spring bean中的那些权限。请参阅此link。不同用户的列表会有所不同,完全由ACL权限驱动。