帶你了解:SpringSecurity 安全管理框架

一、簡(jiǎn)介
? ? Spring Security是一個(gè)高度自定義的安全框架。利用Spring IoC/DI和AOP功能,為系統(tǒng)提供了聲明式安全訪問控制功能,減少了為系統(tǒng)安全而編寫大量重復(fù)代碼的工作。
? ? 關(guān)于安全方面的兩個(gè)主要區(qū)域是“認(rèn)證”和“授權(quán)”(或者訪問控制)。這兩點(diǎn)也是Spring Security重要核心功能。
認(rèn)證:是建立一個(gè)他聲明的主體的過程(一個(gè)“主體”一般是指用戶,設(shè)備或一些可以在你的應(yīng)用程序中執(zhí)行動(dòng)作的其他系統(tǒng)),通俗點(diǎn)說就是系統(tǒng)認(rèn)為用戶是否能登錄。
授權(quán):指確定一個(gè)主體是否允許在你的應(yīng)用程序執(zhí)行一個(gè)動(dòng)作的過程。通俗點(diǎn)講就是系統(tǒng)判斷用戶是否有權(quán)限去做某些事情。


二、歷史
Spring Security?以“The Acegi Secutity System for Spring” 的名字始于2003年年底。其前身為acegi項(xiàng)目。起因是Spring開發(fā)者郵件列表中一個(gè)問題,有人提問是否考慮提供一個(gè)基于Spring的安全實(shí)現(xiàn)。限制于時(shí)間問題,開發(fā)出了一個(gè)簡(jiǎn)單的安全實(shí)現(xiàn),但是并沒有深入研究。幾周后,Spring社區(qū)中其他成員同樣詢問了安全問題,代碼提供給了這些人。
2004年1月份已經(jīng)有20人左右使用這個(gè)項(xiàng)目。隨著更多人的加入
2004年3月左右在sourceforge中建立了一個(gè)項(xiàng)目。
大約1年后acegi成為Spring子項(xiàng)目。(在最開始并沒有認(rèn)證模塊,所有的認(rèn)證功能都是依賴容器完成的,而acegi則注重授權(quán)。但是隨著更多人的使用,基于容器的認(rèn)證就顯現(xiàn)出了不足。acegi中也加入了認(rèn)證功能。)
在2006年5月發(fā)布了acegi 1.0.0版本。2007年底acegi更名為Spring Security。
三、Spring?security能干什么?
1、在Spring XML配置文件中指定您選擇的授權(quán)提供者。
2、使用intercept-url元素將URL鏈接到用戶角色,從而在Spring XML文件中配置授權(quán)規(guī)則。
3、以使用幾個(gè)實(shí)現(xiàn)Spring的org.springframework.security.authentication.encoding.PasswordEncoder接口的類對(duì)密碼進(jìn)行編碼和驗(yàn)證。
4、使用Spring Security的標(biāo)簽庫(kù)來限制對(duì)頁(yè)面元素的訪問
5、使用Spring的內(nèi)部注釋執(zhí)行方法級(jí)別的授權(quán)
6、通過將以下內(nèi)容添加到Spring配置文件中,使用Spring的JSR-250實(shí)現(xiàn)來執(zhí)行方法級(jí)安全性:
7、通過幾個(gè)簡(jiǎn)單的步驟將Spring Security與OpenID身份驗(yàn)證集成。
8、將應(yīng)用程序配置為使用XML配置通過嵌入式LDAP(輕型目錄訪問協(xié)議)服務(wù)器對(duì)用戶進(jìn)行身份驗(yàn)證。
9、將應(yīng)用程序配置為使用XML配置通過遠(yuǎn)程LDAP(輕型目錄訪問協(xié)議)服務(wù)器對(duì)用戶進(jìn)行身份驗(yàn)證。
10、添加Spring Security Config的<intercept-url />元素requires-channel='https'屬性強(qiáng)制所有匹配的URL使用HTTPS。?

?本結(jié)課就到這里了,想看更詳細(xì)的可看上方視頻
對(duì)于Spring security 安全管理框架,有不懂的可在下方評(píng)論區(qū)提問,一起討論起來吧?。?!