如何在JSF页面中检查ACL?
对于JSP,我可以使用这样的标记:
<security:accesscontrollist hasPermission="READ" domainObject="${category}">
但是这个标记在JSF页面中是不可识别的。是否有一个组件在JSF页面中执行相同的操作?
罐
答案 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权限驱动。