淺析內(nèi)容管理系統(tǒng)(CMS)的角色管理
隨著企事業(yè)單位信息化的加速發(fā)展,特別是政府、事業(yè)單位、企業(yè)等領域,由于日常部門較多、分工較細化,對用戶訪問權限控制管理的靈活性、易維護性提出了更高的需求,因此,高效且先進的權限控制方式是十分必要的。對于在網(wǎng)站環(huán)境中的訪問控制方法,基于角色的訪問控制方法(RBAC)是目前公認的解決中大型網(wǎng)站信息化的統(tǒng)一資源訪問控制的有效方法。其顯著的兩大特征是:
1、減小授權管理的復雜性,降低管理開銷。
2、靈活地支持網(wǎng)站的安全策略,并對網(wǎng)站職能的變化有很大的伸縮性。
動易SiteFactory? CMS 正是一套以面向政府、事業(yè)單位、企業(yè)等領域為開發(fā)對象的企業(yè)級內(nèi)容管理系統(tǒng),它采用的就是基于標準RBAC模型(角色)的訪問控制方法。如下圖所示,傳統(tǒng)權限與動易SiteFactory? CMS角色的對比圖:
從對比可以看出,目前國內(nèi)大大小小的內(nèi)容管理系統(tǒng)(CMS)和信息管理系統(tǒng),大都采用的是靜態(tài)的權限控制方法或者會員組的較原始權限形態(tài),不能夠滿足目前互聯(lián)網(wǎng)信息爆炸時代的高維護性、高靈活性、高統(tǒng)一性的特點,特別是各信息門戶、復雜網(wǎng)店及行業(yè)垂直信息領域的應用需求,因此,角色(RBAC模型)在CMS中的應用必將是趨勢所在。那么,它究竟有何魔力呢?今天將要介紹的內(nèi)容就是結(jié)合動易SiteFactory?中角色的權限分配來為你解答。
角色的概念
角色是用戶在某個環(huán)境中的身份,這個身份擁有某些相匹配的權限。角色也一種是自定義權限的集合,您可以建立多個角色,并給每個角色指定多個權限。 例如學校網(wǎng)站的教師、學生、論壇管理員都是一種角色。對于每一個角色,他可以擁有一系列權限,而這些權限是相對固定的。
動易SiteFactory? CMS的角色是通過標準RBAC(基于角色的訪問控制)模型實現(xiàn)的,下圖為SiteFactory? CMS中角色應用舉例示意圖。我們建立了“倉管”、“財務人員”、“銷售員”、“設計師”、“欄目編輯”、“總編”等角色,并且它們都具有相對獨立的控制權限。將張三、李四、王五賦予不同的角色后,他們就擁有了一系列權限。從圖中看出用戶與角色是多對多的關系。即一個用戶可以屬于多個角色之中,一個角色可以包括多個用戶。
角色的特點
1、訪問權限與角色相關聯(lián),不同的角色有不同的權限。用戶以什么樣的角色對資源進
行訪問,決定了用戶擁有的權限以及可執(zhí)行何種操作。
比如:我們使用動易SiteFactory? CMS在后臺添加一個“訂單處理員”的角色,擁有“查看訂單”、“修改訂單”、“刪除訂單”、“訂單作廢”的權限;添加“訂單結(jié)算員”的角色,擁有“訂單過戶”、“訂單關閉”的權限。賦予張三“訂單處理員”的角色,那么張三就擁有了“查看訂單”、“修改訂單”、“刪除訂單”、“訂單作廢”的權限,而不具備“訂單結(jié)算員”的權限。
2、角色繼承。角色之間可能有互相重疊的職責和權力,屬于不同角色的用戶可能需
要執(zhí)行一些相同的操作。RBAC 采用角色繼承的概念,如:角色 2 繼承角色 1,那么管理員在定義角色 2 時就可以只設定不同于角色1 的屬性及訪問權限,避免了重復定義。
比如:我們需要對“訂單處理員”和“訂單結(jié)算員”進行人員管理和操作監(jiān)督,需要建立“訂單監(jiān)督員”這么一個角色,它必須擁有處理員和結(jié)算員的權限外,還需要擁有“角色管理”、“查看操作日志”、“投訴管理”的權限,因此,根據(jù)角色的繼承特點,在SiteFactory? CMS 后臺的角色管理中,只需要給“訂單監(jiān)督員”添加“角色管理”、“查看操作日志”、“投訴管理”的權限,然后同時賦予李四“訂單監(jiān)督員”、“訂單處理員”、“訂單結(jié)算員”的角色就可以了。
* 角色的繼承特點也是區(qū)別與傳統(tǒng)會員組的比較明顯的特點了。
3、最小權限原則,即指用戶所擁有的權力不能超過他執(zhí)行工作時所需的權限。實現(xiàn)最小特權原則,需要分清用戶的工作職責,確定完成該工作的最小權限集,然后把用戶限制在這個權限結(jié)合的范圍之內(nèi)。一定的角色就確定了其工作職責,而角色所能完成的事物蘊涵了其完成工作所需的最小權限。用戶要訪問信息首先必須具有相應的角色,用戶無法饒過角色直接訪問信息。
比如:以動易SiteFactory? CMS投稿功能為例,會員添加文章后需要等待管理員進行審核,審核的過程中可能會涉及到文章的修改、退稿、存檔、刪除、短信通知的操作,因此,如果我們需要建立專門的文章審核員,那么它需要至少擁有文章的修改、退稿、存檔、刪除、短信通知的操作權限,那么文章審核員的最小權限就是以上的操作權限。這樣,不僅讓各環(huán)節(jié)人員清楚自己的工作職責,而且可以對網(wǎng)站權限的合理分配進行優(yōu)化。
4、職責分離。一般職責分離有兩種方式:靜態(tài)和動態(tài)。
靜態(tài)是固定的限制某類用戶的控制權限;
動態(tài)是如用戶組、角色等可以管理員動態(tài)控制用戶的控制權限。目前一些主流的CMS都是以動態(tài)為主。
動易SiteFactory? CMS 職責分離進行了加工,不僅可以根據(jù)傳統(tǒng)的后臺管理功能權限來劃分,而且可以根據(jù)不同欄目、模型的字段權限(如:錄入、刪除、瀏覽)等進行劃分。可以說將權限劃分管理從“片”精確到了“點”上。
角色的應用優(yōu)勢
1、接近現(xiàn)實世界
在現(xiàn)實世界中,角色間往往存在著相互排斥性。例如,一個銀行系統(tǒng)中,如果某個用戶是貸款角色中的一員,那么這個用戶絕對不可以再屬于借款角色。顯然,角色間相互排斥性的存在是十分必要的,它避免了用戶為自己的利益而對組織進行破壞活動。由此可見,角色模型直接體現(xiàn)出了現(xiàn)實世界中普遍存在的角色間的相互排斥關系以及活躍排斥關系,較好地把模型與現(xiàn)實世界中普遍存在的現(xiàn)象結(jié)合在了一起,從而大大縮小了模型與現(xiàn)實世界的差距,使之接近了現(xiàn)實世界。
接近現(xiàn)實世界的最突出的優(yōu)點在于:系統(tǒng)管理員能夠借鑒常識和現(xiàn)實中積累的經(jīng)驗對部門、學校、企業(yè)的安全政策劃分不同的角色,執(zhí)行特定的任務。一個系統(tǒng)建立起來后主要的管理工作即為授權或取消用戶的角色。用戶的職責變化時只需要改變角色即可改變其權限;當組織功能變化或演進時,則只需刪除角色的舊功能,增加新功能,或定義新角色,而不必更新每一個用戶的權限設置。這極大的簡化了授權管理,使對信息資源的訪問控制能更好地適應特定單位的安全策略。
2、全面性
全面性的優(yōu)勢體現(xiàn)在為系統(tǒng)管理員提供了一種比較抽象的、與企業(yè)通常業(yè)務管理性類似的權限訪問控制層次。通過定義、建立不同的角色、角色的繼承關系、角色之間的聯(lián)系以及相應的限制、管理員可動態(tài)或靜態(tài)地規(guī)范用戶的行為。
從角色的特點和優(yōu)勢來看,內(nèi)容管理系統(tǒng)應用角色來控制用戶訪問權限要比傳統(tǒng)會員組固定權限簡便和專業(yè)的多。特別是角色應用的優(yōu)勢規(guī)定了用戶各盡其職,像公司部門組織一樣,具有一定的個人角色和部門角色。人員關系、組織的清晰化,利于提高整體網(wǎng)站的業(yè)務水平、節(jié)省人力成本和優(yōu)化工作流程。
用戶登錄
還沒有賬號?
立即注冊