很早以前,我就想過實(shí)現(xiàn)數(shù)據(jù)級(jí)的系統(tǒng)安全組件,可惜個(gè)人能力有限,一直未能實(shí)現(xiàn)。
一段時(shí)間,曾搜尋過國外的一些知名安全管理,似乎沒找到合乎心意的,就連大名鼎鼎的Spring出的SpringSecurity居然也沒有這方面的實(shí)現(xiàn)。所謂的 RDBMS NoSQL實(shí)現(xiàn),是如此的不堪一試。
然,在iteye.com論壇看到過 metadmin,后來才知這就是Ralasafe的前身,最終在在“強(qiáng)大的”百度下,找到了Ralasafe(www.Ralasafe.cn),剛好是1.2第一版發(fā)布的時(shí)候。
自然,下載搭建,過程是漫長的。
1.是當(dāng)時(shí)居然沒有默認(rèn)的UTF-8的支持,汪兄既然是全球性的推廣,為何不寫多個(gè)filter。
2.沒有MSSQL的結(jié)構(gòu),雖然改一個(gè)數(shù)據(jù)結(jié)構(gòu)不是難事,畢竟很多新手又會(huì)犯很多錯(cuò)了。
3.后臺(tái)控制界面什么的都有,只是要嵌入已有架構(gòu)中,似乎不是一件簡單的事(嘿,估計(jì)是本人水平差)。
之后加入了Q群,由于項(xiàng)目都是很緊張的,看過一部分代碼后,一直沒有再深入了。
今天在群上看到汪在跟用戶談?wù)揜alasafe的問題,可見社區(qū)一直還沒有形成互動(dòng),看到實(shí)在可惜。
所以就牢騷了以下一段話:
--------------------------
對于Ralasafe,我想說幾句,剛好汪也在。
Ralasafe是一個(gè)很不錯(cuò)的安全組件 因?yàn)槠恋粼械慕M件(那怕是功能不好的),啟用Ralasafe,需要的是架構(gòu)能力。
我剛接觸到Ralasafe時(shí),很是欣喜,難得在國內(nèi)有志之士可以做出這樣好的組件,并可以開源。但布署測試后,(期間問過一個(gè)亂碼問題),發(fā)現(xiàn)要溶入我原來的架構(gòu),并不理想。
而這些入侵性的修改,似乎是一直到底的,很明顯一點(diǎn),是Ralasafe的DAO是自成體系。
啟用一個(gè)組件,過多的修改(感覺接口也不算很明顯),會(huì)導(dǎo)致不可預(yù)想的BUG。
項(xiàng)目大都是希望快速上線的,而我個(gè)人的情況,剛好公司采用FLEX做前端,修改量就更加。
之前我改SpringSecurity的,只去到操作級(jí),數(shù)據(jù)權(quán)限還沒有處理。但它的接口是很明顯的,用戶DAO接口,提供的權(quán)限數(shù)據(jù)接口。基本我從hibernate轉(zhuǎn)到nutz,這樣更改DAO,也就是一天半天的功夫。
于是,Ralasafe被我放下了,其實(shí)我也很想用起來,但實(shí)際沒有時(shí)間讓我深入研究并修改。
所以我也沒對Ralasafe作出什么貢獻(xiàn)。 然后,我個(gè)人認(rèn)為Ralasafe,可提高幾方面:
1.對多數(shù)據(jù)庫的支持(1.2不是不支持,而是沒有其它數(shù)據(jù)庫的布署文件,新手就困難了)。
2.提煉用戶登陸接口(其實(shí)視圖也算是個(gè)好的選擇),但接口更明顯。
3.提煉權(quán)限數(shù)據(jù)提供接口,讓其它的框架可以方便熱拔插。(主要是DAO部分)。
4.提煉后臺(tái)維護(hù)的服務(wù)類和DAO操作接口,這樣用戶可以方便自己提供操作界面。
--------------------------
而平心而論,能將這么好的項(xiàng)目開源出來,的確要很大的勇氣。我想在國外將是一件很了不起的事,而國人的習(xí)慣,導(dǎo)致很多好的東西推廣不起來。
最后希望Ralasafe可以走得更遠(yuǎn)。