2013-04-23 51 views
1

我正在用ZK開發一個Web應用程序。我已經實現了Spring Security設施,因此,根據登錄用戶的性質,頁面應顯示或不顯示某些組件。我一直在尋找,似乎沒有這樣的例子。有誰知道這是否可行?用Spring Security在ZUL文件中隱藏/顯示組件

回答

0

您可以使用可見屬性根據用戶登錄隱藏和顯示組件。 我現在沒有多少時間來創建演示示例,但是我可以建議您在這裏您可以執行的操作您可以使用用戶名將所有組件ID放在數據庫中,如果我們在頁面中有5個組件,讓我們假設

+0

請給我看一個小例子或者給我一個更深的解釋嗎? – Anto 2013-04-23 14:26:08

+0

然後你必須給出一些更多的細節,你會保存組件ID在數據庫中,所以它會根據用戶登錄?您正在使用MVC還是MVVM?你也可以檢查Nabil的答案,他簡要解釋 – 2013-04-23 18:04:52

3

您可以在zk文檔中找到sample,但我會解釋一下。

許多ZK標籤,也許我不確定,可以有ifattribute
這使得可以在定義的條件下顯示組件。

現在,您可以將它與zk安全標籤庫結合使用。

<?taglib uri="http://www.zkoss.org/zkspring/security" prefix="sec"?> 

因此,您可以使用已定義的前綴進行Spring角色檢查。

if="${sec:isAllGranted('ROLE_SUPERVISOR')}" 

當然,您也可以將它用於可見屬性。
但我認爲由於安全方面的原因,這通常不是一個好主意。

請記住,您也可以使用Spring annotations

@PreAuthorize("checkWhatYouLike") 
public void myEventHandler(Event ev){ 
    ... 
} 

,並採取看看SecurityUtil類ZKS春包。

+0

它有幫助還是仍然有問題? – 2013-04-27 02:26:01