|
1、權(quán)限的應(yīng)用對(duì)象
上面我們已經(jīng)定義了權(quán)限的范圍,就是信息系統(tǒng)管理里面的表單操作,那么權(quán)限的應(yīng)用對(duì)象就是表單,更進(jìn)一步說(shuō),就是表達(dá)表單內(nèi)容的web管理頁(yè)面。
2、權(quán)限的分類
一個(gè)頁(yè)面的權(quán)限范圍分為以下幾種,也可以叫做基本權(quán)限單位。
l 操作權(quán)限:操作權(quán)限是一種頁(yè)面級(jí)別的權(quán)限,也可以叫做頁(yè)面權(quán)限。包括以下幾種
n 新增
n 修改
n 刪除
n 查詢
在此基礎(chǔ)上還可以進(jìn)行更加詳細(xì)的一些分類,比如查看他人記錄的權(quán)限,修改他人記錄的權(quán)限等。這部分也可以使用下面的記錄權(quán)限來(lái)實(shí)現(xiàn)。
l 按鈕權(quán)限:針對(duì)頁(yè)面上按鈕的權(quán)限管理,包括
n 是否可見(jiàn)
n 是否可用
有時(shí)候,我們可以把按鈕權(quán)限看作為字段權(quán)限。
l 字段權(quán)限:字段在頁(yè)面的不同狀態(tài)(新增,修改,查詢)下面的各種狀態(tài)管理。包括
n 是否可見(jiàn)
n 是否可修改
l 記錄權(quán)限:記錄權(quán)限是指用戶對(duì)某些記錄的查看和修改權(quán)限。比如客戶關(guān)系管理系統(tǒng)中,不同界別的系統(tǒng)用戶可以看到不同的記錄,例如上司可以看他所有下級(jí)員工的客戶列表等。
3、權(quán)限的實(shí)現(xiàn)模型
上面的權(quán)限分類大概對(duì)涉及到頁(yè)面元素的權(quán)限進(jìn)行了一個(gè)比較全面的概括。另外一個(gè)問(wèn)題就是權(quán)限管理的實(shí)現(xiàn)模型。在大部分的系統(tǒng)中都是用的基于角色控制模型的權(quán)限管理。在這樣的系統(tǒng)中,創(chuàng)建一系列的角色,然后把基本權(quán)限單位分配給這些角色,再把角色分配給用戶,這樣用戶登錄系統(tǒng)后,就根據(jù)當(dāng)前用戶所擁有的角色可以定位出權(quán)限。
在針對(duì)信息管理系統(tǒng)中,權(quán)限模型有自己的特色,除了角色的概念以外,還有表單權(quán)限的概面。第一節(jié)里面所討論的各種權(quán)限基本單位不但可以應(yīng)用到角色上,也可以應(yīng)用到表單上。
對(duì)于應(yīng)用到表單上的基本權(quán)限單位,我們叫做表單的固有權(quán)限屬性(靜態(tài)權(quán)限)。對(duì)于應(yīng)用到角色上的基本權(quán)限單位,我們叫做角色權(quán)限屬性(動(dòng)態(tài)權(quán)限)。用下圖來(lái)表示:
根據(jù)上面的模型,一個(gè)用戶登錄到系統(tǒng)中后,得到某一個(gè)表單的權(quán)限就和這個(gè)表單的固有權(quán)限屬性和這樣用戶所擁有的角色有關(guān)。
4、權(quán)限的計(jì)算方式
用戶登錄后對(duì)一個(gè)表單進(jìn)行操作,靜態(tài)權(quán)限只有一個(gè),即表單本身的權(quán)限屬性,動(dòng)態(tài)權(quán)限可以有多個(gè),即用戶可以同時(shí)屬于多個(gè)角色,這些角色在這個(gè)表單上都有不同的動(dòng)態(tài)權(quán)限。用戶對(duì)這個(gè)表單所能進(jìn)行的操作是由這個(gè)動(dòng)態(tài)權(quán)限和靜態(tài)權(quán)限的綜合作用決定的。進(jìn)行權(quán)限判斷分為兩個(gè)步驟:
1、 動(dòng)態(tài)權(quán)限組合:根據(jù)用戶所屬的角色的權(quán)限分析得到最終的動(dòng)態(tài)權(quán)限集合。
2、 動(dòng)態(tài)權(quán)限和靜態(tài)權(quán)限的組合:利用得到的動(dòng)態(tài)權(quán)限集合再和靜態(tài)權(quán)限進(jìn)行綜合分析得到用戶的最終權(quán)限。
在動(dòng)態(tài)權(quán)限和動(dòng)態(tài)權(quán)限進(jìn)行組合判斷,以及動(dòng)態(tài)權(quán)限和靜態(tài)權(quán)限進(jìn)行組合判斷的時(shí)候,根據(jù)權(quán)限類型的不同,使用不同的組合判斷方法
對(duì)于操作權(quán)限,分為兩種組合方法:
l 或操作:或操作認(rèn)為,兩個(gè)層次的權(quán)限單位進(jìn)行比較,只要其中一個(gè)權(quán)限單位認(rèn)為“可以做”,那么組合權(quán)限結(jié)果就是“可以做”。例如對(duì)于“增加”這個(gè)操作權(quán)限,如果角色A設(shè)置為可以增加,角色B設(shè)置為不可以增加,那么綜合的結(jié)果就是 可以進(jìn)行 “增加”
l 與操作:與操作認(rèn)為,兩個(gè)層次的權(quán)限單位進(jìn)行比較,只要其中一個(gè)權(quán)限單位認(rèn)為“不可以做”,那么組合權(quán)限結(jié)果就是“不可以做”。例如: 對(duì)于“增加”這個(gè)操作權(quán)限,如果角色A設(shè)置為可以增加,角色B設(shè)置為不可以增加,那么綜合的結(jié)果就是 不可以進(jìn)行 “增加”
對(duì)于字段權(quán)限 和 記錄權(quán)限 只有一種組合方法:
l 權(quán)限并集:也就是說(shuō)組合的結(jié)果是這兩種層級(jí)的權(quán)限單位控制范圍的一個(gè)相交的結(jié)果。例如:對(duì)于角色A,他在表單F上的的只讀字段為(a,b,c,d),角色B在表單F上的只讀字段為(c,d,e,f),那么角色A和角色表的相交結(jié)果就是只讀字段集合(a,b,c,d,e,f)。
下面兩張表顯示了不同的權(quán)限層次,不同的權(quán)限類型在進(jìn)行權(quán)限比較時(shí)選擇不同的比較方法:
不同的角色之間進(jìn)行權(quán)限比較:
| 角色B-操作權(quán)限 | 角色B-字段權(quán)限 | 角色B-記錄權(quán)限 |
角色A-操作權(quán)限 | 或操作 |
|
|
角色A-字段權(quán)限 |
| 并集 |
|
角色A-記錄權(quán)限 |
|
| 并集 |
當(dāng)有多個(gè)角色權(quán)限是,列入有角色A,B,C,D,先對(duì)A,B做計(jì)算,然后把計(jì)算結(jié)果和C進(jìn)行計(jì)算,依次類推。
動(dòng)態(tài)權(quán)限和靜態(tài)權(quán)限進(jìn)行權(quán)限比較:
| 動(dòng)態(tài)權(quán)限-操作權(quán)限 | 動(dòng)態(tài)權(quán)限-字段權(quán)限 | 動(dòng)態(tài)權(quán)限-記錄權(quán)限 |
靜態(tài)權(quán)限-操作權(quán)限 | 與操作 |
|
|
靜態(tài)權(quán)限-字段權(quán)限 |
| 并集 |
|
靜態(tài)權(quán)限-記錄權(quán)限 |
|
| 并集 |
NET技術(shù):基于web信息管理系統(tǒng)的權(quán)限設(shè)計(jì)分析和總結(jié),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。