2011-03-17 35 views
0

我正在開發一個Web應用程序,其中像Admin,Reporter,Manager,Customer.Agent這樣的角色很少。基於角色,需要顯示一些菜單項。管理員可以授予(動態)用戶說代理(這不是默認權限)。是否有更好的方法來處理這種情況?使用Java EE 6訪問安全級別(ACL)?

謝謝

回答

1

你可能有一些負責權限邏輯的控制器。您將擁有一個權限系統,您可以在其中向特定用戶/組授予特定權限。該控制器可以實現爲jsf託管bean。你可以有這樣的方法:

public boolean hasPermission(PermissionKey permissionKey) { 
... 
} 

此方法將檢查角色+特定的權限。

在這個例子中,PermissionKey將是一個枚舉,但是你可以將它作爲一個字符串或其他東西。可能的值將是,例如,「DELETE_ACCOUNT」或「HANDLE_PAYMENT」。

在你的意見,你可以conditionnaly顯示組件是這樣的:

<h:outputText value="some text" rendered="#{authController.hasPermission('DELETE_ACCOUNT')}" /> 
+0

謝謝你。它是非常有幫助的。 – Suraj 2011-03-24 09:25:38