2010-08-11 63 views
2

我一直在關注彈簧安全,並注意到它的一個非常大的包。我想知道是否值得努力花時間來提高這一點。是值得努力的彈簧安全

有彈簧安全性2.0+爲您節省了大量時間,還是以任何方式簡化了您的項目?

回答

3

幾年前我考慮將它用於Spring項目,並選擇反對它,因爲它是一個非常繁重和複雜的框架,它提供的靈活性並不是必需的。 (按我的估計)減少我們自己的認證/授權的努力。不要誤解這是一個微不足道的努力;永遠不會有效的安全。

從風險的角度來看,我花了一段時間的文檔後並沒有深入理解它,並認爲複雜性代表了配置錯誤的重大風險。它可能比我們建造的「更好」,但是如果我們不瞭解如何正確使用和配置它,那麼它將無法實現它的潛力。自我理解的自定義實施(也可能是「低級」)安全模塊不那麼重要。

免責聲明:當時Spring Security仍被稱爲Acegi,當前的技術可能隨着名稱發生了變化。

+0

ACEGI確實值得得出這個結論,但Spring Security自那時起經歷了一次重大的重構。這值得再次考慮。 – duffymo 2010-08-12 00:27:47

+1

我的感受是一樣的。我不知道這個兔子洞有多深。我知道我需要在深層次上理解這樣的東西,纔能有效和安全。 選擇什麼樣的解決方案,它也需要足夠簡單,以便團隊中的初級開發人員能夠理解。如果沒有人能夠理解並應用它,它就不是很安全。 – clarson 2010-08-12 01:57:44

+0

2.x和3.0中的SpringSecurity「命名空間」擴展對簡單用例具有*顯着*簡化的配置。 (他們可以爲複雜的用例提供更多的命名空間鉤子,但這是一個不同的魚羣。) – 2010-08-12 02:11:35

2

如果替代方案沒有安全性或者寫作和維護我自己的,我寧願學習Spring Security。

如果我可以分攤幾個項目的學習曲線,那麼更好。

+1

這個答案是否包含任何信息? – irreputable 2010-08-12 00:13:12

+7

「....我想知道是否值得努力花時間來加強這個......」 - 它確實提供了關於這個問題的一個觀點。這比你提供的沒有任何價值。 – duffymo 2010-08-12 00:26:28

7

春季安全2.0+爲您節省了大量時間,還是以任何方式簡化了您的項目?

對於我的項目,是的,是的。

這很大程度上取決於您的安全要求有多簡單或複雜。

  • 如果你只需要做簡單的事情,你可以只讀取SpringSecurity文件,是有關你的問題的部分脫身。或者只是從樣本中借用一些東西。

  • 如果您正在做複雜的事情,比如說與企業LDAP服務或使用OpenID,那麼使用SpringSecurity將會非常簡單,從(非彈性)第三方庫開始自己實現。

根據我的經驗,體面的網站安全是複雜和耗時的,不管你如何實現它。

+0

我們對某些涉及相當特定安全性(通過第三方Java API的LDAP/X509身份驗證和授權)的項目使用Spring Security 2.0+,雖然它不適合我們的開箱即用需求,但它的可擴展性非常好。只需很少的子類和一些配置,我們就能得到我們想要的。我認爲Spring Security 2.0+是節省時間的。 – gpeche 2010-08-30 14:00:02