2012-10-07 52 views
0

我目前正在開發一個JavaEE6項目,並且我想爲一個用戶或角色設置一組動態分配的權限。在seam2中,這可以通過org.jboss.seam.security.persistentPermissionResolver來實現,我想知道是否有與JavaEE6等效的方法或技術。到目前爲止,在Oracles的JavaEE6文檔中,我只能看到在web.xml中設置目錄訪問權限。如何在JavaEE6中動態設置用戶權限

JavaEE6中設置認證和授權的最佳方法(真實世界)是什麼?可能通過數據庫或LDAP。

感謝,
czetsuya

回答

1

如果使用的是春天,去spring security
否則,你可以使用apache shiro

阿帕奇四郎提供以下功能:

特點

主題基於 - 幾乎任何時候你在Shiro所做的是基於當前正在執行的用戶,稱爲主題。您可以輕鬆地在代碼中的任何位置檢索主題。這使您更容易在您的應用程序中理解和使用Shiro。 單一方法調用 - 認證過程是單一方法調用。只需要一個方法調用就可以保持API簡單,並且應用程序代碼清晰,節省您的時間和精力。
豐富例外分層結構 - Shiro提供了豐富的異常層次結構,爲登錄失敗的原因提供了詳細的解釋。層次結構可幫助您更輕鬆地診斷與身份驗證相關的代碼錯誤或客戶服務問題。另外,如果需要,豐富性可以幫助您創建更復雜的身份驗證功能。
'記住我'內置 - Shiro API中的標準是能夠記住用戶,如果他們返回到您的應用程序。只需最少的開發工作,您就可以爲您的用戶提供更好的用戶體驗。
可插入數據源 - Shiro使用可插入數據訪問對象(DAO)(稱爲領域)來連接到安全數據源(如LDAP和Active Directory)。爲幫助您避免自行構建和維護集成,Shiro爲LDAP,Active Directory,Kerberos和JDBC等流行數據源提供了開箱即用的領域。如果需要,您還可以創建自己的領域來支持基本領域中未包含的特定功能。
使用一個或多個領域登錄 - 使用Shiro,您可以輕鬆驗證用戶是否對一個或多個領域進行身份驗證,並返回一個統一的身份視圖。另外,您可以使用Shiro的認證策略概念來定製認證過程。這些策略可以在配置文件中設置,因此更改不需要修改源代碼 - 從而降低複雜性和維護工作量。

+0

嗨,感謝您的答覆。我正在使用JavaEE6,所以春天是不合算的。我目前正在看Shiro,但我想知道爲什麼JavaEE6中沒有細粒度的安全層,就像我們在Seam中所做的一樣: - ? – czetsuya