鄭志明
摘要:當(dāng)前在各種B/S系統(tǒng)中為了保證系統(tǒng)的各方面安全,對(duì)不同用戶(hù)的訪(fǎng)問(wèn)進(jìn)行授權(quán)驗(yàn)證是十分必要的,其中權(quán)限管理起到7非常重要的作用。本文對(duì)系統(tǒng)中通用權(quán)限模塊的設(shè)計(jì)進(jìn)行了簡(jiǎn)明的闡述,首先通過(guò)分析給出了權(quán)限模塊中的各個(gè)通用實(shí)體,接著討論了實(shí)體與實(shí)體之間的關(guān)系,最后設(shè)計(jì)出了數(shù)據(jù)庫(kù)的基本表結(jié)構(gòu)及其關(guān)系。
關(guān)鍵詞:權(quán)限管理 角色 用戶(hù) 權(quán)限
引言
當(dāng)前在各種系統(tǒng)中,為了保護(hù)系統(tǒng)的安全,對(duì)每個(gè)系統(tǒng)用戶(hù)的職責(zé)進(jìn)行明確并對(duì)其訪(fǎng)問(wèn)權(quán)限進(jìn)行控制變得越來(lái)越重要。在所有后臺(tái)系統(tǒng)中權(quán)限管理都是一個(gè)重要的組成部分,尤其是在B/S系統(tǒng)中,因?yàn)锽/S系統(tǒng)大部分使用的是不太安全的Http協(xié)議,所以在B/S系統(tǒng)中加入權(quán)限管理模塊來(lái)保證系統(tǒng)數(shù)據(jù)和功能的安全是非常有必要的。
不同的系統(tǒng)對(duì)系統(tǒng)功能的需求是不一樣的,當(dāng)然對(duì)用戶(hù)的權(quán)限管理模塊需求也不一樣,本文研究的是B/S系統(tǒng)中通用權(quán)限模塊的設(shè)計(jì),主要通過(guò)挖掘出不同系統(tǒng)的共性,設(shè)計(jì)出一種通用的方法,從而可以被不同的系統(tǒng)復(fù)用。
1權(quán)限管理的功能
權(quán)限管理一般指根據(jù)各個(gè)系統(tǒng)設(shè)置的一些安全規(guī)則或者安全策略,控制不同用戶(hù)可以訪(fǎng)問(wèn)并且只能訪(fǎng)問(wèn)自己被授權(quán)的系統(tǒng)資源,不能多也不能少。幾乎在任何系統(tǒng)里面,尤其是在B/S系統(tǒng)里面,都應(yīng)包含權(quán)限管理模塊。一般來(lái)說(shuō),我們可以從制度力度來(lái)將權(quán)限管理分為功能級(jí)權(quán)限管理和數(shù)據(jù)級(jí)權(quán)限管理,從控制方向可以將權(quán)限管理分為從系統(tǒng)獲取數(shù)據(jù)和向系統(tǒng)提交數(shù)據(jù)兩個(gè)方向。
權(quán)限管理模塊主要用來(lái)管理系統(tǒng)的用戶(hù)及其操作權(quán)限,通過(guò)為不同的用戶(hù)組來(lái)設(shè)置不同的操作權(quán)限,從而達(dá)到不同的用戶(hù)能保留不同權(quán)限的目的,這樣不僅可以保證系統(tǒng)中數(shù)據(jù)的隱私和系統(tǒng)安全,而且還可以避免數(shù)據(jù)泄密、頁(yè)面干擾和操作風(fēng)險(xiǎn)等。
2相關(guān)實(shí)體
2.1用戶(hù)
用戶(hù)指的是系統(tǒng)可供使用的用戶(hù)。任何系統(tǒng)的開(kāi)發(fā)都是為了模擬現(xiàn)實(shí)中的情況來(lái)實(shí)現(xiàn)用戶(hù)的需求,一個(gè)系統(tǒng)如果沒(méi)有用戶(hù)也就沒(méi)有開(kāi)發(fā)的必要了,所以用戶(hù)是所有系統(tǒng)都應(yīng)有的實(shí)體。
2.2角色
角色是權(quán)限管理模型的核心,它表示的是系統(tǒng)用戶(hù)身份的信息。一般來(lái)說(shuō),系統(tǒng)都有很多的用戶(hù),用戶(hù)中有同類(lèi)的,也有不用類(lèi)的,如果為每個(gè)用戶(hù)都來(lái)設(shè)定權(quán)限,勢(shì)必會(huì)增加數(shù)據(jù)庫(kù)的冗余。為此引入角色實(shí)體,可以為同類(lèi)用戶(hù)設(shè)置相同的用戶(hù)組,再讓不同的角色去設(shè)置權(quán)限,這樣不僅可以做到權(quán)限模塊的通用性,也能有效的減少數(shù)據(jù)庫(kù)的數(shù)據(jù)冗余。
2.3權(quán)限
權(quán)限指角色可以訪(fǎng)問(wèn)而且只能訪(fǎng)問(wèn)的系統(tǒng)資源,包括菜單權(quán)限,操作權(quán)限等。不管是何種權(quán)限資源,在B/S系統(tǒng)中主要指的是各種可供瀏覽器訪(fǎng)問(wèn)的URL資源。
3實(shí)體間的關(guān)系
3.1用戶(hù)與角色的關(guān)系
本系統(tǒng)中一個(gè)用戶(hù)可以隸屬多個(gè)角色,而每個(gè)角色都包含多個(gè)用戶(hù),它們之間是多對(duì)多的關(guān)系。為了操作方便,引入一個(gè)新的用戶(hù)角色關(guān)聯(lián)實(shí)體,用戶(hù)和角色與關(guān)聯(lián)實(shí)體都是一對(duì)多的關(guān)系。如圖1所示。
3.2角色與權(quán)限的關(guān)系
本系統(tǒng)中一個(gè)操作權(quán)限可以隸屬多個(gè)角色,而每個(gè)角色都可以包含多個(gè)權(quán)限,它們之間也是多對(duì)多的關(guān)第。為了操作方便,也引入一個(gè)新的角色權(quán)限關(guān)聯(lián)實(shí)體,角色與權(quán)限與關(guān)聯(lián)實(shí)體都是一對(duì)多的關(guān)系。如圖2所示。
4數(shù)據(jù)庫(kù)表關(guān)系
根據(jù)上述討論,筆者只給出每個(gè)實(shí)體的基本屬性,并不針對(duì)于特定的系統(tǒng)。下面給出通用權(quán)限模塊的表結(jié)構(gòu)以及它們之間的關(guān)系圖,具體如圖3所示。
從圖3所示,通用權(quán)限模塊一般要包括5個(gè)數(shù)據(jù)庫(kù)表,其中角色表是整個(gè)模塊的核心,它與用戶(hù)表和權(quán)限表都有關(guān)系。
為了闡明權(quán)限模塊的通用性,圖3中各個(gè)數(shù)據(jù)庫(kù)表的屬性都是最基本的屬性。如果要復(fù)用本模型來(lái)適應(yīng)不同的系統(tǒng)需求,讀者只要根據(jù)實(shí)際情況適當(dāng)?shù)膩?lái)增加相應(yīng)的屬性。
5結(jié)語(yǔ)
本文主要對(duì)通用權(quán)限管理的設(shè)計(jì)進(jìn)行了簡(jiǎn)單明了的闡述,其目的是為筆者的科技項(xiàng)目提供設(shè)計(jì)建模思路。在實(shí)際的Web項(xiàng)目開(kāi)發(fā)肯定比上述討論的要復(fù)雜很多,但是再?gòu)?fù)雜的功能都是在最基本的功能上進(jìn)行擴(kuò)展的。一個(gè)功能完備的權(quán)限管理模塊是保障各級(jí)系統(tǒng)數(shù)據(jù)與服務(wù)安全的基礎(chǔ),并且其它業(yè)務(wù)邏輯都可以基于權(quán)限管理模塊來(lái)進(jìn)行設(shè)計(jì)實(shí)現(xiàn)。讀者可在本文討論的基本模型的基礎(chǔ)上,根據(jù)要實(shí)現(xiàn)系統(tǒng)的特殊情況,適當(dāng)?shù)男薷木涂梢詰?yīng)用到新的系統(tǒng)中去。
參考文獻(xiàn)
[1]吳波,王晶,基于基本RBAC模型的權(quán)限管理框架的設(shè)計(jì)與實(shí)現(xiàn)[J],計(jì)算機(jī)系統(tǒng)應(yīng)用,2011(4)50-54
[2]郭軍,基于角色的訪(fǎng)問(wèn)控制分級(jí)授權(quán)管理的研究[D],西安:西安電子科技大學(xué),2012
[3]顧航,夏帆,宋樹(shù)彬,肖李敏,董啟文,徐林昊,周傲英.研究生信息平臺(tái)中權(quán)限管理的設(shè)計(jì)與實(shí)現(xiàn)[J].華東師范大學(xué)學(xué)報(bào)(自然科技版),2018(3):109-120
[4]顧春華,肖寶亮.RBAC模型層次關(guān)系中的角色權(quán)限[J].華東理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2007(1):96-99
[5]賈青梅,楊正球,統(tǒng)一權(quán)限管理模塊的設(shè)計(jì)與實(shí)現(xiàn)[C]∥2009通信理論與技術(shù)新發(fā)展第十四全國(guó)青年通信學(xué)術(shù)會(huì)議論文集[C].中要通信學(xué)會(huì)青年工作委員會(huì),2009: 233-237
[6]桂艷峰.林作銓.一個(gè)基于角色的Web安全訪(fǎng)問(wèn)控制系統(tǒng)[J],計(jì)算機(jī)研究與發(fā)展,2003,8:1186-1194