在對(duì)web項(xiàng)目進(jìn)行權(quán)限管理時(shí),采用的方法無(wú)非是寫一大堆JSP或者干脆一個(gè)Filter搞定。寫完簡(jiǎn)單的權(quán)限功能后,又開(kāi)始考慮如何自動(dòng)記憶上次用戶信
息,限制每臺(tái)機(jī)器只能有一個(gè)用戶登錄,把用戶密碼進(jìn)行加密。接著更上一層樓,嘗試實(shí)現(xiàn)單點(diǎn)登錄,使用HTTPS保護(hù)傳輸數(shù)據(jù),防御會(huì)話偽造攻擊等等。
于是好幾年前出現(xiàn)了名叫acegi的東西,它建立在spring的基礎(chǔ)上,提供了可以豐盛的權(quán)限功能集合,同時(shí)也以極為變態(tài)的復(fù)雜配置給了我們這
些初試權(quán)限的人悶頭一棍。甚至網(wǎng)上已經(jīng)有人流傳“every time you use acegi, a fairy
die”——每當(dāng)有人使用acegi時(shí),就會(huì)有一個(gè)精靈死去。
正因?yàn)槿绱耍琣cegi在加入spring陣營(yíng)時(shí),不但改頭換面改名成為Spring
Security,而且在配置方面進(jìn)行了極大的簡(jiǎn)化,形象的來(lái)說(shuō)就是:“現(xiàn)在只需要20行的配置文件就可以完成之前幾百行才能實(shí)現(xiàn)的功能”。
遺憾的是,現(xiàn)在依然可以看到還有人在使用acegi,甚至還有人在學(xué)習(xí)acegi,這種情況無(wú)疑讓我們感到痛心疾首。
為了世界上不會(huì)再有精靈無(wú)謂犧牲,也為了大家的身心健康,我在此大聲疾呼:“請(qǐng)把a(bǔ)cegi替換成Spring
Security。”尤其對(duì)那些希望學(xué)習(xí)acegi的同志,請(qǐng)直接學(xué)習(xí)Spring Security。
下面是《請(qǐng)把a(bǔ)cegi替換成Spring Security》的附帶視頻,希望大家了解Spring Security的簡(jiǎn)潔。
http://code.google.com/p/family168/downloads/detail?name=springsecurity.zip