2012-04-26 60 views
10

有什麼優勢可以通過去看看Apache Shiro,並且離開Java EE的本地API來實現安全性和會話管理?Apache Shiro與Java EE本地API

我發現所有的安全角色和會話都可以在Apache Shiro中完成,但是同樣的事情也可以在沒有任何外部依賴jar的情況下使用Java EE安全完成。

所以建議我去Apache Schro的一些優點和缺點。

+0

請任何一個可以幫助我不能夠判斷....... – satheesh 2012-04-26 11:26:08

回答

15

我有偏見,當然(我的Apache四郎項目的提交),所以把這個作爲你認爲合適的,但這裏有我的意見:

  • Java EE的安全性不支持容器開箱即用的獨立會話聚類選項(Shiro)。

  • Shiro從一開始就設計爲在POJO /依賴注入環境中工作。它使用接口驅動設計,並提供比傳統Java EE安全環境更多的定製掛鉤(例如,您如何顯示當前有多少用戶使用Java EE安全性登錄到您的站點?Shiro可以幫助您展示這一點)。

  • Shiro可跨任何應用環境完全移植。如果您使用特定於Java EE供應商的安全自定義設置,那麼這些自定義設置將不可移植(例如,此StackOverflow question顯示切換到JBoss可能會解決用戶的安全問題 - 一個令人不安的答案IMO)。

  • 在同樣的服務器特定的自定義,許多Java EE安全tutorialsarticlesblog articles向您展示針對用戶界面配置,跨平臺的解決方式不同的東西,可能是令人沮喪,如果你重新學習開關。另外,Java EE配置通常需要XML。我更喜歡一種單一的,非冗長的文本配置格式,我可以在任何地方使用(shiro.ini很好,但人們也用groovy,yaml等配置shiro)。

  • Shiro被設計成在任何應用環境中工作。 Java EE安全性的設計非常適用於Java EE。至少在學習Shiro時,您可以在任何基於JVM的應用程序(Spring,Guice,Java EE,命令行等)中利用這些知識,而不僅僅是Java EE應用程序。

HTH!

萊斯

+0

感謝在Apache shiro.Can你的解釋我得到的POJO注入環境四郎使用的一些更多的解釋 – satheesh 2012-04-27 05:29:20

+2

> '這個StackOverflow的問題表明切換到JBoss可能會解決用戶的安全問題 - IMO的一個令人不安的答案 - 我給出了答案,我同意這令人不安。我創建了問題http://java.net/jira/browse/JAVAEE_SPEC-20,要求對安全配置的這個特定方面進行標準化。 – 2013-04-16 06:47:05