2012-01-30 88 views
1

如何在JSF頁面中檢查ACL?JSF的Spring ACL?

對於JSP我可以使用這樣的標籤:

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

但這個標籤中未啓用JSF頁面的認可。有沒有一個組件可以在JSF頁面中執行相同的操作?

坦克

回答

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中爲每個角色呈現的集合。但是,如果你甚至有你的域對象的權限,你必須使用帶有@PostFilter註解的Spring EL表達式來處理你的Spring bean中的這些。請看link。這個列表對於不同的用戶是不同的,並且完全由ACL權限驅動。

+0

嗨,我該如何使用這個域對象?我們已經爲每個對象創建了acls – wutzebaer 2012-01-31 08:18:33

+0

更新了答案! – Ravi 2012-02-01 02:39:37

+0

謝謝!有沒有辦法檢查沒有註釋的對象的ACL權限? – wutzebaer 2012-02-01 08:42:17