Spring Security是一個框架,提供了各種安全功能,例如: 身份驗證,創(chuàng)建安全Java Enterprise Applications的授權(quán)。
這是Spring框架的子項目,該框架由Ben Alex于2003年啟動。后來,在2004年,它以Apache許可證的形式以Spring Security 2.0.0的身份發(fā)布。
它克服了在創(chuàng)建非Spring Security應(yīng)用程序和管理該應(yīng)用程序的新服務(wù)器環(huán)境期間出現(xiàn)的所有問題。
此框架針對應(yīng)用程序的兩個主要領(lǐng)域: 身份驗證和授權(quán)。
授權(quán)是允許權(quán)限在應(yīng)用程序中執(zhí)行操作的過程。
我們可以應(yīng)用授權(quán)來授權(quán)Web請求,方法和訪問單個域。
Spring Security框架支持各種身份驗證模型。這些模型要么由第三方提供,要么由框架本身提供。 Spring Security支持與所有這些技術(shù)的集成。
HTTP BASIC authentication headers HTTP Digest authentication headers HTTP X.509 client certificate exchange LDAP (Lighweight Directory Access Protocol) Form-based authentication OpenID authentication Automatic remember-me authentication Kerberos JOSSO (Java Open Source Single Sign-On) AppFuse AndroMDA Mule ESB DWR(Direct Web Request)
此框架的優(yōu)點在于其靈活的身份驗證特性,可以與任何軟件解決方案集成。有時,開發(fā)人員希望將其與不遵循任何安全性標(biāo)準(zhǔn)的遺留系統(tǒng)集成,在那里Spring Security可以很好地工作。
Spring Security具有許多優(yōu)點。其中一些在下面給出。
對身份驗證和授權(quán)的全面支持。 對常見任務(wù)的保護(hù) Servlet API集成 與Spring MVC集成 可移植性 CSRF保護(hù) Java配置支持
2003年底,一個項目 Acegi Spring security系統(tǒng)開始了開發(fā)基于Spring的計劃。保安系統(tǒng)。因此,實施了一個簡單的安全系統(tǒng),但未正式發(fā)布。開發(fā)人員在內(nèi)部使用該代碼作為解決方案,到2004年,大約有20個開發(fā)人員在使用該代碼。
最初,身份驗證模塊不屬于該項目,大約一年后,添加了該模塊,并將完整的項目重新配置為支持更多技術(shù)。
一段時間后,該項目成為Spring框架的子項目,并于2006年作為1.0.0發(fā)布。
在2007年,該項目被更名為Spring Security,并被廣泛接受。目前,它已得到全球開放社區(qū)開發(fā)人員的認(rèn)可和支持。