Spring Security 的前身是 Acegi Security ,是 Spring 項目組中用來提供安全認證服務的架構。
Spring Security 為基于J2EE企業應用軟體提供了全面安全服務。特别是使用領先的J2EE解決方案-Spring架構開發的企業軟體項目。人們使用Spring Security有很多種原因,不過通常吸引他們的是在J2EE Servlet規範或EJB規範中找不到典型企業應用場景的解決方案。
特别要指出的是他們不能再WAR 或 EAR 級别進行移植。這樣,如果你更換伺服器環境,就要,在新的目标環境進行大量的工作,對你的應用系統進行重新配 置安全。使用Spring Security 解決了這些問題,也為你提供很多有用的,完全可以指定的其他安全特性。
你可能知道,安全包括兩個主要操作。
第一個被稱為“認證”,是為使用者建立一個他所聲明的主體。主題一般式指使用者,裝置或可以在你系 統中執行動作的其他系統。“授權”指的是一個使用者能否在你的應用中執行某個操作,在到達授權判斷之前,身份的主題已經由 身份驗證過程建立了。這些概念是通用的,不是Spring Security特有的。在身份驗證層面,Spring Security廣泛支援各種身份驗證模式,這些驗證模型絕大多數都由第三方提供,或則正在開發的有關标準機構提供的,例如 Internet Engineering Task Force.作為補充,Spring Security 也提供了自己的一套驗證功能。
Spring Security 目前支援認證一體化如下認證技術:
HTTP BASIC authentication headers (一個基于IEFT RFC 的标準)
HTTP Digest authentication headers (一個基于IEFT RFC 的标準)
HTTP X.509 client certificate exchange (一個基于IEFT RFC 的标準)
LDAP (一個非常常見的跨平台認證需要做法,特别是在大環境)
Form-based authentication (提供簡單使用者接口的需求)
OpenID authentication
Computer Associates Siteminder
JA-SIG Central Authentication Service (CAS,這是一個流行的開源單點登入系統)
Transparent authentication context propagation for Remote Method Invocation and HttpInvoker (一個Spring遠端調用協定)