如何检查JSF页面中的ACL?
对于JSP,我可以使用这样的标签:
<security:accesscontrollist hasPermission="READ" domainObject="${category}">
但是这个标签在JSF页面中无法识别。JSF页面中是否有一个组件可以做同样的事情?
储罐
是的,您可以通过使用Spring Security Facelets标记库轻松实现这一点。要进行配置,请参阅此链接中的文档。然后你可以这样使用它:
<h:dataTable value="#{customer.orderList}" var="order" rendered="#{sec:areAllGranted('ROLE_USER,ROLE_ADMIN')}">
<h:column>
</h:column>
</h:dataTable>
如果使用Primefaces组件库,则无需配置任何内容,只需开箱即用即可。这是链接
以上内容将使您进入要在SID中为每个角色呈现的集合。但是,如果您甚至拥有域对象的权限,则必须使用带有@PostFilter注释的SpringEL表达式来处理springbean中的这些对象。请参阅此链接。不同用户的列表会有所不同,并且完全由ACL权限驱动。