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