隨筆-26  評(píng)論-111  文章-19  trackbacks-0


          1. 用戶可以從外部的系統(tǒng)接入,模塊中的用戶只有用戶名,密碼和描述這三個(gè)最基本的系統(tǒng),然后通過ID和外部系統(tǒng)的用戶建立聯(lián)系

          2. 角色之間可以繼承,可以有父角色和子角色,而且個(gè)數(shù)不限,允許多重繼承,通過繼承之后,角色可以擁有所有父角色的權(quán)限

          3. 權(quán)限的劃分方式
          ????
          ??? a.權(quán)限用事件來劃分,每個(gè)事件通過一個(gè)handle來進(jìn)行處理
          ???
          ??? b.一個(gè)handle就是一個(gè)class

          ??? c.事件的來源是一個(gè)配置文件,因此配置文件的方式可以是這樣的


          <?xml version="1.0" encoding="GBK"?>
          <control>
          ?<!-- 是否自動(dòng)轉(zhuǎn)向 默認(rèn)為false-->
          ?<isforward>false</isforward>
          ?<!-- 組件 -->
          ?<cmp id="cmp1" name="組件一">
          ??<!-- 事件 -->
          ??<event id="event1" name="事件一">
          ???<handle>com.snoics.cmp.event.Event1</handle>
          ???<view>/url1/pagename1</view>
          ??</event>
          ??<event id="event2" name="事件二">
          ???<handle>com.snoics.cmp.event.Event2</handle>
          ???<view>/url2/pagename2</view>
          ??</event>
          ?</cmp>
          ?<cmp id="cmp2" name="組件二">
          ??<event id="event3" name="事件三">
          ???<handle>com.snoics.cmp.event.Event3</handle>
          ???<view>/url3/pagename3</view>
          ??</event>
          ??<event id="event4" name="事件四">
          ???<handle>com.snoics.cmp.event.Event4</handle>
          ???<view>/url4/pagename4</view>
          ??</event>
          ?</cmp>
          </control>

          ?
          通過解析這個(gè)配置文件,可以得到每個(gè)事件的ID,這個(gè)ID就是以后的權(quán)限標(biāo)志

          給角色分配的權(quán)限就是這樣的一個(gè)一個(gè)的標(biāo)志


          4.??通過AOP給應(yīng)用系統(tǒng)加入權(quán)限控制

          ???? 系統(tǒng)在執(zhí)行的過程中,能自動(dòng)的進(jìn)行攔截,如果發(fā)現(xiàn)當(dāng)前的class是處于配置文件中的某一個(gè)handle的時(shí)候,自動(dòng)進(jìn)行權(quán)限驗(yàn)證,分析當(dāng)前用戶所擁有的角色中是否具有執(zhí)行相關(guān)的handle的權(quán)限,在驗(yàn)證通過以后允許執(zhí)行這個(gè)handle中的操作,否則拒絕執(zhí)行


          這樣做的好處就是能夠不在業(yè)務(wù)系統(tǒng)中寫入任何和權(quán)限相關(guān)的代碼,與權(quán)限相關(guān)的部分全部都是通過配置文件的配置來進(jìn)行處理的,同時(shí)實(shí)現(xiàn)了權(quán)限控制的完全組件化.


          如果大家有什么好的建議歡迎一起討論

          posted on 2006-02-16 13:11 snoics 閱讀(1866) 評(píng)論(3)  編輯  收藏 所屬分類: 學(xué)習(xí) . 感悟

          評(píng)論:
          # re: 關(guān)于權(quán)限模塊的設(shè)想 2006-02-16 13:18 | Rivarez
          權(quán)限體系,包括對(duì)操做和資源的控制,以及互斥權(quán)限的定義。你說的只有對(duì)操做的定義,資源和互斥權(quán)限,如何處理呢?  回復(fù)  更多評(píng)論
            
          # re: 關(guān)于權(quán)限模塊的設(shè)想 2006-02-16 13:23 | snoics
          恩 資源和互斥權(quán)限 這確實(shí)是一個(gè)問題,單單通過配置不能實(shí)現(xiàn)對(duì)它的控制,不過我想如果通過接口的實(shí)現(xiàn)應(yīng)該還是有可能部分實(shí)現(xiàn)的  回復(fù)  更多評(píng)論
            
          # re: 關(guān)于權(quán)限模塊的設(shè)想 2007-05-29 23:12 | design
          哥哥都是牛×人些!
          感動(dòng)中......!  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 临漳县| 岢岚县| 徐州市| 柳河县| 大新县| 师宗县| 克拉玛依市| 句容市| 绥滨县| 呼玛县| 兰溪市| 尚义县| 铁力市| 陵水| 苍山县| 长治县| 山阳县| 大埔县| 鞍山市| 新和县| 方山县| 桐柏县| 碌曲县| 包头市| 莱州市| 精河县| 宜兰县| 和平区| 宽甸| 包头市| 岢岚县| 响水县| 安吉县| 磐石市| 游戏| 井研县| 湛江市| 即墨市| 平顺县| 惠州市| 高平市|