使用acegi-security管理權(quán)限




          對(duì)于acegi-security用過spring的朋友一定聽說過,早就想學(xué)習(xí)一下,但一直沒有機(jī)會(huì)用,加上acegi-security本身很復(fù)雜,算起來從打算學(xué)到現(xiàn)在差不多都一年多了,版本也從0.5升到了1.1,正巧最近公司的業(yè)務(wù)處理中間件要提高安全性,要做一個(gè)權(quán)限管理控制的模塊,本來如果直接寫個(gè)攔截器就搞定了,不過本著不求最快但求最好的思想,決定用一下大名頂頂?shù)腶cegi-security,咱們也來玩玩RBAC(基于角色的權(quán)限控制),參考了一些資料,主要來自springside,差不多搞明白了acegi-security是怎么回事,這里不重復(fù)別人的文字,主要談?wù)勎业氖褂媒?jīng)驗(yàn),如果是一般的j2ee web平臺(tái)直接使用差不多就沒什么問題,關(guān)鍵我們中間件是使用的內(nèi)部協(xié)議,而不是http,學(xué)習(xí)acegi-security后,感覺它主要實(shí)現(xiàn)都是靠著filter來的,結(jié)果就自已寫了一個(gè)攔截器取代filter,然后使用自帶的(or springside的方法安全攔截器),安全控制算是整合上去了,后來發(fā)現(xiàn)現(xiàn)有的程序只有一個(gè)方法處理,并要從請(qǐng)求的數(shù)據(jù)中取得條件來判斷是否有權(quán)利調(diào)用后臺(tái)的業(yè)務(wù)模塊,說明白點(diǎn)就有點(diǎn)類似在http下的URL路徑,雖然acegi-security提供了方法的攔截,但好像不能攔截方法的參數(shù),如果有的話我就可以通過參數(shù)來判斷是否有權(quán)限操作了,or把原來的程序改成一個(gè)一個(gè)的方法(純屬說笑,呵呵),這樣問題就很明顯了,acegi-security并沒有提供我們協(xié)議的安全攔截器(http中是FilterSecurityInterceptor),所以一切都得自已實(shí)現(xiàn),從org.acegisecurity.intercept包下的基類和接口開始,參照它FilterSecurityInterceptor和MethodSecurityInterceptor照葫蘆畫瓢,我們自已的安全攔截器就出來了,目前系統(tǒng)已完全整成acegi,成為RBAC的權(quán)限控制管理。ACL的權(quán)限控制還沒有仔細(xì)研究,acegi-security架構(gòu)也還是有些模糊,此文有待補(bǔ)充...

          posted on 2006-09-16 09:41 The One 閱讀(1260) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2006年9月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(3)

          隨筆檔案(11)

          相冊(cè)

          我的郵箱

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 高邮市| 靖边县| 青海省| 金坛市| 山东| 德州市| 黄平县| 赤城县| 万年县| 巴东县| 来凤县| 湖南省| 广丰县| 太仓市| 西乌| 哈巴河县| 同心县| 清新县| 杭州市| 陵水| 揭阳市| 安庆市| 志丹县| 福安市| 祥云县| 昆山市| 洛川县| 公主岭市| 色达县| 海淀区| 灵宝市| 毕节市| 滦南县| 肇州县| 乐平市| 定陶县| 高唐县| 连城县| 清流县| 盘锦市| 巨鹿县|