資源描述:
《spring security 3.0 中文 幫助手冊(cè)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、序言SpringSecurity為基于J2EE的企業(yè)應(yīng)用軟件提供了一套全面的安全解決方案。正如你在本手冊(cè)中看到的那樣,我們嘗試為您提供一套好用,高可配置的安全系統(tǒng)。安全問(wèn)題是一個(gè)不斷變化的目標(biāo),更重要的是尋求一種全面的,系統(tǒng)化的解決方案。在安全領(lǐng)域我們建議你采取“分層安全”,這樣讓每一層確保本身盡可能的安全,并為其他層提供額外的安全保障。每層自身越是“緊密”,你的程序就會(huì)越安全。在底層,你需要處理傳輸安全和系統(tǒng)認(rèn)證,減少“中間人攻擊”(man-in-the-middleattacks)。接下來(lái),我們通常會(huì)使用防
2、火墻,結(jié)合VPN或IP安全來(lái)確保只有獲得授權(quán)的系統(tǒng)才能?chē)L試連接。在企業(yè)環(huán)境中,你可能會(huì)部署一個(gè)DMZ(demilitarizedzone,隔離區(qū)),將面向公眾的服務(wù)器與后端數(shù)據(jù)庫(kù),應(yīng)用服務(wù)器隔離開(kāi)。在以非授權(quán)用戶(hù)運(yùn)行進(jìn)程和文件系統(tǒng)安全最大化上,你的操作系統(tǒng)也將扮演一個(gè)關(guān)鍵的角色。操作系統(tǒng)通常配置了自己的防火墻。然后你要防止針對(duì)系統(tǒng)的拒絕服務(wù)和暴力攻擊。入侵檢測(cè)系統(tǒng)在檢測(cè)和應(yīng)對(duì)攻擊的時(shí)候尤其有用。這些系統(tǒng)可以實(shí)時(shí)屏蔽惡意TCP/IP地址。在更高層上,你需要配置Java虛擬機(jī),將授予不同java類(lèi)型權(quán)限最小化,然后
3、,你的應(yīng)用程序要添加針對(duì)自身特定問(wèn)題域的安全配置。SpringSecurity使后者-應(yīng)用程序安全變得更容易。當(dāng)然,你需要妥善處理上面提到的每個(gè)安全層,以及包含于每個(gè)層的管理因素。這些管理因素具體包括:安全公告檢測(cè),補(bǔ)丁,人工診斷,審計(jì),變更管理,工程管理系統(tǒng),數(shù)據(jù)備份,災(zāi)難回復(fù),性能評(píng)測(cè),負(fù)載檢測(cè),集中日志,應(yīng)急反應(yīng)程序等等。SpringSecurity關(guān)注的重點(diǎn)是在企業(yè)應(yīng)用安全層為您提供服務(wù),你將發(fā)現(xiàn)業(yè)務(wù)問(wèn)題領(lǐng)域存在著各式各樣的需求。銀行系統(tǒng)跟電子商務(wù)應(yīng)用就有很大的不同。電子商務(wù)系統(tǒng)與企業(yè)銷(xiāo)售自動(dòng)化工具又有
4、很大不同。這些客戶(hù)化需求讓?xiě)?yīng)用安全顯得有趣,富有挑戰(zhàn)性而且物有所值。請(qǐng)閱讀Part?I,“入門(mén)”部分,以它作為開(kāi)始。它向你介紹了整個(gè)框架和以命名空間為基礎(chǔ)系統(tǒng)配置方式,讓你可以很快啟動(dòng)并運(yùn)行系統(tǒng)。要是想更多的了解SpringSecurity是如何工作和一些你可能需要用到的類(lèi),你應(yīng)該閱讀Part?II,“結(jié)構(gòu)和實(shí)現(xiàn)”部分。本指南的其余部分使用了較傳統(tǒng)的參考文檔方式,請(qǐng)按照自己的需要選擇閱讀的部分。我們也推薦你閱讀盡可能多的在應(yīng)用安全中可能出現(xiàn)的一般問(wèn)題。SpringSecurity也不是萬(wàn)能的,它不可能解決所有問(wèn)
5、題。重要的一點(diǎn),應(yīng)用程序應(yīng)該從一開(kāi)始就為安全做好設(shè)計(jì)。企圖改造它也不是一個(gè)好主意。特別的,如果你在制作一個(gè)web應(yīng)用,你應(yīng)該知道許多潛在的脆弱性,比如跨域腳本,偽造請(qǐng)求和會(huì)話劫持,這些都是你在一開(kāi)始就應(yīng)該考慮到的。OWASP網(wǎng)站(http://www.owasp.org/)維護(hù)了一個(gè)web應(yīng)用脆弱性前十名的名單,還有很多有用的參考信息。我們希望你覺(jué)得這是一篇很有用的參考指南,并歡迎您提供反饋意見(jiàn)和建議。最后,歡迎加入SpringSecurity社區(qū)。Part?I.?入門(mén)本指南的后面部分提供對(duì)框架結(jié)構(gòu)和實(shí)現(xiàn)類(lèi)的深
6、入討論,了解它們,對(duì)你進(jìn)行復(fù)雜的定制是十分重要的。在這部分,我們將介紹SpringSecurity3.0,簡(jiǎn)要介紹該項(xiàng)目的歷史,然后看看如何開(kāi)始在程序中使用框架。特別是,我們將看看命名空間配置提供了一個(gè)更加簡(jiǎn)單的方式,在使用傳統(tǒng)的springbean配置時(shí),你不得不實(shí)現(xiàn)所有類(lèi)。我們也會(huì)看看可用的范例程序。它們值得試著運(yùn)行,實(shí)驗(yàn),在你閱讀后面的章節(jié)之前,你可以在對(duì)框架有了更多連接之后再回來(lái)看這些例子。也請(qǐng)參考項(xiàng)目網(wǎng)站獲得構(gòu)建項(xiàng)目有用的信息,另外鏈接到網(wǎng)站,視頻和教程。Chapter?1.?介紹1.1.?Sprin
7、gSecurity是什么?SpringSecurity為基于J2EE企業(yè)應(yīng)用軟件提供了全面安全服務(wù)。特別是使用領(lǐng)先的J2EE解決方案spring框架開(kāi)發(fā)的企業(yè)軟件項(xiàng)目。如果你沒(méi)有使用Spring開(kāi)發(fā)企業(yè)軟件,我們熱情的推薦你仔細(xì)研究一下。熟悉Spring尤其是依賴(lài)注入原理將幫助你更快的掌握SpringSecurity。人們使用SpringSecurity有很多種原因,不過(guò)通常吸引他們的是在J2EEServlet規(guī)范或EJB規(guī)范中找不到典型企業(yè)應(yīng)用場(chǎng)景的解決方案。提到這些規(guī)范,特別要指出的是它們不能在WAR或EA
8、R級(jí)別進(jìn)行移植。這樣,如果你更換服務(wù)器環(huán)境,就要在新的目標(biāo)環(huán)境進(jìn)行大量的工作,對(duì)你的應(yīng)用系統(tǒng)進(jìn)行重新配置安全。使用SpringSecurity解決了這些問(wèn)題,也為你提供了很多有用的,可定制的其他安全特性。你可能知道,安全包括兩個(gè)主要操作,“認(rèn)證”和“驗(yàn)證”(或權(quán)限控制)。這就是SpringSecurity面向的兩個(gè)主要方向?!罢J(rèn)證”是為用戶(hù)建立一個(gè)他所聲明的主體的過(guò)程,(“主體”一般是