亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

權限系統應用概要分析

系統 1712 0

參考文獻

1. MSDN 文檔

2. MS Authorization and Profile Application Block Help 文檔

1. 概述

在應用程序設計中,常常需要根據不同用戶控制其在程序中的行為。例如:管理員、經理、員工在程序中的訪問級別存在差異,而一個用戶可以扮演多個角色。用戶訪問受保護資源或執行受保護操作的能力稱為權限,可表述為“判斷 WHO對WHAT(WHICH)進行HOW的操作”的邏輯表達式。

現有的權限認證主要基于兩種機制: ACL(訪問控制列表)和基于角色的控制。

ACL為安全對象建立訪問控制列表(DACLS)。通過比較用戶的權限是否存在于列表中,決定用戶可以訪問資源。

基于角色( Role-based)通過將系統按角色劃分權限。當用戶關聯到某個角色,將自動獲得該角色所擁有的權限。

role

在企業應用方面,基于角色的控制方法,由于減小了授權管理的復雜性,易于操作,具有較好的前景。

值得注意的是,權限并不是簡單的判定過程。權限的檢查常常需要應用業務邏輯。例如:合同只能被其創建者刪除,同組用戶可以修改,授權用戶可以查看。通常,與權限控制對象的實例相關的稱為細粒度權限,而只與對象類型關聯的稱為粗粒度權限。

1. 設計目標

權限系統模塊提供基本架構支持基于角色方式的授權。

1. 向系統中的用戶授權

2. 支持角色的繼承

3. 支持權限系統的多種存儲方式

4. 支持業務邏輯驗證

5. 具有較好的擴展性和性能

2. 分析

2.1. 權限系統的工作流程

總體上講,權限系統的工作由下列過程組成:

權限系統初始化

權限系統接收用戶對資源的訪問請求

權限系統根據用戶具有的權限,返回true或false

最后,權限系統釋放其資源,銷毀實例。

2.2. 權限系統的對象

n 資源

資源是權限系統的保護對象。資源可以是某個實體,如文件系統中的文件;也可以是概念。在應用程序中,資源更多以模塊劃分。

資源間存在嵌套關系。如:現金流量表屬于財務報表。

對資源的訪問方式稱為操作。顯然,資源可以具有多種操作。如:合同具有錄入、查看、修改、刪除、執行、審核、打印等不同操作。

操作間存在重疊關系,比如對合同審核者當然可以查看合同。

概念模型如下:

<shapetype id="_x0000_t75" coordsize="21600,21600" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype>

n 用戶和角色

用戶是權限系統的訪問實體。角色是具有某類權限集的用戶的統稱。角色之間存在繼承關系,比如財務主管同時也是財務人員。

概念模型如下:

值得注意的是,權限與角色并不存在一致性。如:某用戶希望擁有其角色外的權限;某角色希望屏蔽屬于其類別的某個(些)用戶的權限。

概念模型擴展如下:

用戶可以直接賦權限

角色與受控列表關聯。受控列表即存儲角色中某些用戶禁止對角色中允許的資源進行訪問列表。

2.3. 權限系統的模塊

n 資源管理

系統中的受控資源通常都是可確定的。如果資源發生變化,常意味著代碼的更迭(包含資源分配與驗證部分)。因此,在系統中的受控資源在程序運行態時不可變的前提下,資源管理的功能較為簡單:

a) 獲取系統中所有資源列表

b) 根據資源(操作)標識,取得資源信息。

n 權限管理

權限管理是系統中的關鍵部分,決定權限分配到實體對象中的過程。

權限管理的功能如下:

a) 增加、刪除、更新用戶或角色對資源訪問的權限。

b) 獲取系統中某用戶或角色所賦有的所有權限。

c) 獲取系統中某用戶或角色對某種資源(操作)的權限

d) 增加、刪除角色受控列表條目

值得注意的是用戶權限是用戶所具有的角色權限和其本身所賦予的權限的交集。因此在權限對象中設置角色用戶標志加以區分。

n 權限檢查

權限檢查是系統中的應用部分。 權限檢查包含業務邏輯檢查。

權限檢查使用權限管理器的功能。

業務邏輯檢查共發生兩次。一次在權限檢查之前,一次在權限檢查之后。權限檢查之前的業務邏輯檢查可以直接返回結果,而不用再進行權限檢查。

3. 權限系統架構

權限系統設計為可擴展性結構。使用 Provider 接口用于權限模型與數據存儲間的交互。通過實現自定義的 Provider ,經過配置入口插入權限系統中。

配置文件以 XML 文件為主流格式。 Provider 接口定義如下:

Element XML 文件元素類型

權限系統應用概要分析


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩在线第三页 | 美国一级毛片片aa成人 | 国产乱子伦视频大全 | 玖玖国产精品 | 神马影院我不卡手机版 | 国产综合成人亚洲区 | 成人在线黄色 | 亚洲qingse中文久久网 | 日本中文在线三级在线播放 | 欧美日韩高清在线 | 四虎永久在线精品影院 | 亚洲欧美成人永久第一网站 | 久久亚洲精品专区蓝色区 | 成人在线视频免费观看 | 亚洲四区 | 99精品欧美一区二区三区美图 | 中文字幕av一区 | 午夜亚洲国产理论秋霞 | 99热久久久久久久免费观看 | 欧美乱插 | 日本不卡高清 | 黄色男人的天堂 | 国产精品日韩欧美 | 久久99中文字幕 | 日本一级毛片a免费播放 | 国产一级αv片免费观看 | 国产久草视频 | 国产短视频精品区第一页 | 精品福利| 色综合久久久高清综合久久久 | 99久久精品国产一区二区三区 | 大色佬视频在线观看 | 中文字幕1区2区 | 欧美精品日日鲁夜夜 | 99精品免费在线观看 | 久久久久亚洲香蕉网 | 成人影院欧美大片免费看 | 日韩 亚洲 欧美 中文 高清 | 国产欧美日韩综合精品一区二区 | 欧美精品v欧洲高清 | 一区一区三区产品乱码 |