posts - 193,  comments - 520,  trackbacks - 0
          很早就完成了權(quán)限系統(tǒng)的編碼,這里把一些功能說(shuō)明貼出來(lái),也希望提提意見(jiàn)。

          權(quán)限系統(tǒng)基于acegi框架實(shí)現(xiàn)了從前端頁(yè)面到后臺(tái)數(shù)據(jù)全面的控制。在權(quán)限控制中,它將權(quán)限分成五類(lèi):??
          ?
          一是系統(tǒng)權(quán)限,主要是對(duì)模塊為單位的權(quán)限劃分,具體就是用戶(hù)對(duì)該模塊可見(jiàn)不可見(jiàn),能不能對(duì)該模塊進(jìn)行再授權(quán)的操作。表現(xiàn)在用戶(hù)界面就是用戶(hù)登錄系統(tǒng)主頁(yè)面后,可以看到的頂部菜單和左側(cè)outlookbar菜單的內(nèi)容控制。作為粒度最大的權(quán)限控制,系統(tǒng)實(shí)現(xiàn)了web url的防盜鏈功能。舉例來(lái)說(shuō),用戶(hù)新開(kāi)發(fā)的一個(gè)叫車(chē)輛管理的模塊,配置在http://localhost/business/carmanage.actionurl下,當(dāng)對(duì)這個(gè)模塊的權(quán)限加以控制后,直接在瀏覽器中鍵入http://localhost/business/carmanage.action同樣是無(wú)法訪(fǎng)問(wèn)的,而不僅僅是界面內(nèi)容的屏蔽。
          ?
          二是模塊操作權(quán)限,在對(duì)整個(gè)模塊的權(quán)限做出控制后,這里繼續(xù)對(duì)模塊的瀏覽、增加,修改,刪除的操作權(quán)限做出控制,也可以理解為對(duì)象權(quán)限?。還是以車(chē)輛管理為例,不同的人員對(duì)這個(gè)模塊的操作是不同的,有些用戶(hù)可以新增,刪除車(chē)輛;而有些用戶(hù)則只是可以對(duì)車(chē)輛的情況查看不能修改。通過(guò)系統(tǒng)提供的一套web 標(biāo)簽,頁(yè)面可以根據(jù)用戶(hù)不同的操作權(quán)限屏蔽相應(yīng)的功能按鍵。例如刪除,新增按鍵。用戶(hù)繞過(guò)頁(yè)面直接操作相應(yīng)業(yè)務(wù)方法同樣也做到了嚴(yán)格的控制,沒(méi)有權(quán)限的訪(fǎng)問(wèn)會(huì)被拒絕同時(shí)記入日志。?
          ?
          三是數(shù)據(jù)范圍權(quán)限,又可以叫做對(duì)象實(shí)例級(jí)權(quán)限。事實(shí)上不是每個(gè)用戶(hù)都可以看到所有記錄的。以財(cái)務(wù)管理為例,部門(mén)經(jīng)理只能查看金額小于1W的數(shù)據(jù);而總經(jīng)理則沒(méi)有限制。權(quán)限系統(tǒng)對(duì)這部分權(quán)限也做出了全面的控制,可以根據(jù)數(shù)據(jù)類(lèi)型,相應(yīng)字段數(shù)值范圍做出控制。
          ?
          四是單條數(shù)據(jù)ACL權(quán)限,為了滿(mǎn)足更嚴(yán)格的數(shù)據(jù)權(quán)限要求,權(quán)限系統(tǒng)對(duì)數(shù)據(jù)實(shí)現(xiàn)了單條數(shù)據(jù)的ACL權(quán)限,具體說(shuō)就是對(duì)每條數(shù)據(jù)都實(shí)現(xiàn)了權(quán)限控制,每條數(shù)據(jù)都有一到多條權(quán)限數(shù)據(jù)與其對(duì)應(yīng)。以個(gè)人通訊錄為例,每個(gè)用戶(hù)都維護(hù)自己的一個(gè)通訊錄,這些數(shù)據(jù)都只是對(duì)本人可見(jiàn),其他人不可見(jiàn)。但用戶(hù)可以對(duì)這些數(shù)據(jù)做出授權(quán),將某條聯(lián)系方式以授權(quán)的方式共享給其他人,并賦予不同的權(quán)限,包括擁有,修改,刪除,瀏覽四種權(quán)限。

          五是數(shù)據(jù)字段權(quán)限,通過(guò)xml配置,系統(tǒng)保證了用戶(hù)的最小粒度的權(quán)限控制。每條業(yè)務(wù)數(shù)據(jù)權(quán)限可以精確控制到每一個(gè)字段。包括單個(gè)字段的可否瀏覽以及可否修改。保證了敏感信息的安全性。


          授權(quán),作為權(quán)限系統(tǒng)的重要部分,系統(tǒng)提供了相當(dāng)方便的操作體驗(yàn)。以樹(shù)狀的方式展現(xiàn)權(quán)限主體(用戶(hù),角色,部門(mén))以及資源,方便,直接,一目了然。區(qū)別與傳統(tǒng)的RBAC模型,權(quán)限不僅僅可以分配給角色,也可以分配給部門(mén)和用戶(hù)。實(shí)際的權(quán)限是這三者權(quán)限的疊加,最大限度的方便用戶(hù)操作。考慮到用戶(hù)的擴(kuò)展,系統(tǒng)提供兩個(gè)權(quán)限繼承規(guī)則接口,用戶(hù)可以自定義權(quán)限繼承的規(guī)則。例如,部門(mén)A下有部門(mén)A1,部門(mén)A的權(quán)限是否由部門(mén)A1繼承。

          整個(gè)權(quán)限系統(tǒng)的數(shù)據(jù)都建立在系統(tǒng)統(tǒng)一的緩存管理之上,用戶(hù)登錄后,其權(quán)限信息即被緩存,保證系統(tǒng)的效率


          http://www.aygfsteel.com/ronghao 榮浩原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處:)
          posted on 2007-03-18 22:46 ronghao 閱讀(4944) 評(píng)論(5)  編輯  收藏 所屬分類(lèi): 權(quán)限相關(guān)

          FeedBack:
          # re: 權(quán)限系統(tǒng)功能說(shuō)明
          2007-03-19 09:03 | 祎恬凡
          to: 通過(guò)系統(tǒng)提供的一套web 標(biāo)簽
          這些標(biāo)簽是自己寫(xiě)的,還是acegi提供的  回復(fù)  更多評(píng)論
            
          # re: 權(quán)限系統(tǒng)功能說(shuō)明
          2007-03-19 10:48 | 剃刀
          樓主君的權(quán)限體系泛化的范圍過(guò)寬,將導(dǎo)致難于理解,難于使用,日后難于維護(hù)的窘境  回復(fù)  更多評(píng)論
            
          # re: 權(quán)限系統(tǒng)功能說(shuō)明
          2007-03-19 11:04 | Tortoise
          好東西。在學(xué)習(xí)  回復(fù)  更多評(píng)論
            
          # re: 權(quán)限系統(tǒng)功能說(shuō)明
          2007-03-19 16:22 | ronghao
          to:祎恬凡
          是對(duì)acegi標(biāo)簽的擴(kuò)展,主要修改在權(quán)限邏輯部分。
          to:剃刀
          我不太明白,實(shí)際用戶(hù)在二次開(kāi)發(fā)過(guò)程中基本上不會(huì)與權(quán)限部分的API打交道,這樣難于維護(hù)就比較難理解了。這也得益與acegi的AOP,filter處理,完全與業(yè)務(wù)代碼分離。歡迎繼續(xù)討論  回復(fù)  更多評(píng)論
            
          # re: 權(quán)限系統(tǒng)功能說(shuō)明
          2007-03-19 19:49 | 祎恬凡
          能不能留下一個(gè)聯(lián)系方式,最近也在用acegi搞權(quán)限,好隨時(shí)請(qǐng)教!  回復(fù)  更多評(píng)論
            
          <2007年3月>
          25262728123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          關(guān)注工作流和企業(yè)業(yè)務(wù)流程改進(jìn)。現(xiàn)就職于ThoughtWorks。新浪微博:http://weibo.com/ronghao100

          常用鏈接

          留言簿(38)

          隨筆分類(lèi)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          常去的網(wǎng)站

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 丽江市| 射阳县| 西平县| 大理市| 洪雅县| 介休市| 鹿邑县| 城固县| 库尔勒市| 昌都县| 黔东| 湘乡市| 东安县| 高陵县| 泸水县| 德令哈市| 苍梧县| 蓬莱市| 江山市| 泰州市| 阿拉善盟| 阳城县| 曲麻莱县| 阳谷县| 贺兰县| 怀柔区| 临安市| 四会市| 綦江县| 平潭县| 河西区| 色达县| 永嘉县| 岗巴县| 枣强县| 泌阳县| 加查县| 读书| 桐庐县| 沂源县| 茶陵县|