2012-08-26 91 views
0

Spring提供哪些安全特性尚未由Java EE規範提供?Spring安全特性

在Java EE規範有:

  1. 在web.xml中sevlet安全選項的範圍。大多數人將配置基本或基於表單的身份驗證。他們將他們的Java EE應用程序鏈接到存儲用戶/組的LDAP服務器。請求將被加密並通過HTTPS進入。
  2. 可能性標註任何EJB和只允許某些角色執行某些方法
  3. 能力在運行時檢查用戶的原則編程

那麼什麼額外的安全性確實春3.0給我?

回答

2

即使您只需要一些相當簡單的認證,Spring Security也會提供對許多簡單而有用的功能的支持(想想註銷後重定向,重定向到所有URL上的登錄頁面,請記住我)。使用Java EE,你最終會自己寫這個,並且 - 可能 - 搞砸了,所以你會有一個不安全的應用程序。 Spring Security可以很好地適用於很多標準/協議/等等。開箱即用(LDAP,JAAS,X.509)。還有更高級的內容,如SSO或ACL。如果標準功能不適合你,你可以很容易地進行定製,通常只需要一點點代碼。

我還喜歡的是,它是非侵入性的,您的控制器/動作/ ...類通常不必參與。這就是說,如果你第一次使用它,它需要一些時間來設置Spring Security並適應它。

(最後,這裏有自己的功能列表:http://static.springsource.org/spring-security/site/features.html

+0

謝謝。大多數這些功能都可以在Java EE中使用。 – dublintech

+0

這裏的鏈接給出了一個很好的總結。在這個鏈接和你所說的這個問題之間的答案。 http://static.springsource.org/spring-security/site/faq/faq.html#faq-web-xml – dublintech

1

一個殺手級功能是ACL!

@see:春季安全參考Chapter 17. Domain Object Security (ACLs)


而且我有一種感覺,春季安全是非常容易定製。例如,如果您需要一個用戶管理,用戶可以自行註冊並獲得一些有限的權限,並且在確認此電子郵件地址後還有其他權限。

+0

你將有一個鏈接顯示春季如何簡化呢? – dublintech

+0

@dublintech:我爲ACL添加了一個。用戶註冊是我在幾個項目中完成的。最後,它只不過是一個定製的org.springframework.security.core.userdetails.UserDetailsS​​ervice - 這就是我的意思,Spring允許我擴展(全部)所有的功能。 – Ralph