摘 要:RBAC模型(Role-basedAccessModel)就是基于角色的訪問(wèn)控制模型,它的基本思想是將資源分配給相關(guān)的角色,用戶通過(guò)所屬的角色獲得所擁有的資源,也就是訪問(wèn)的許可。高職院??荚嚢才畔到y(tǒng)就采用了RBAC模型來(lái)完成組,角色,用戶,資源相互關(guān)聯(lián)的情況。
關(guān)鍵詞:RBAC;考試安排;訪問(wèn)控制
中圖分類號(hào):TP39
在高等職業(yè)技術(shù)院校,教學(xué)管理模式由學(xué)年制逐漸變?yōu)閷W(xué)分制,如何更合理的對(duì)學(xué)生考試進(jìn)行安排,學(xué)生、教師在考試過(guò)程中充當(dāng)什么角色,能進(jìn)行什么操作,這些都是要解決的問(wèn)題。也就是權(quán)限問(wèn)題在系統(tǒng)中怎么設(shè)計(jì)。
1 權(quán)限
權(quán)限可以簡(jiǎn)單的描述為WWH問(wèn)題,就是判斷“Who對(duì)Which(What)進(jìn)行How操作”。用戶有什么權(quán)限,就是可以進(jìn)行哪些“資源+操作”的許可。在權(quán)限管理中存在兩種權(quán)限管理,一種是粗粒度的功能權(quán)限管理,另一種是細(xì)粒度的功能權(quán)限管理。所謂的粗粒度的功能權(quán)限管理,就是表示類別一級(jí)的,只考慮對(duì)象的類別,不考慮對(duì)象的特定實(shí)例。比如,考試安排中,考試科目的創(chuàng)建、刪除,對(duì)所有的用戶都一樣,并不區(qū)分操作的具體實(shí)例。而細(xì)粒度的功能權(quán)限管理,表示的就是數(shù)據(jù)級(jí),就是考慮到具體的對(duì)象的屬性。比如,學(xué)生的預(yù)約考試中,預(yù)約、撤銷預(yù)約,就要區(qū)分預(yù)約是由當(dāng)前學(xué)生創(chuàng)建。顯然在考試安排中,我們將選用細(xì)粒度的功能權(quán)限管理。
2 RBAC
在具體的權(quán)限設(shè)計(jì)時(shí),有三種訪問(wèn)策略,即自主控制策略、強(qiáng)制控制策略和基于角色控制策略。其中自主控制策略使管理員難以確定哪些用戶對(duì)哪些資源具有訪問(wèn)權(quán)限,不利于實(shí)現(xiàn)統(tǒng)一全局訪問(wèn)控制,使其在資源共享方面難以控制;而強(qiáng)制控制策略使管理員不能指定出適合各個(gè)子系統(tǒng)的統(tǒng)一的訪問(wèn)控制模式,在控制粒度上也不能滿足最小權(quán)限,使用的范圍比較小。因此基于角色控制策略(RBAC)是我們的首選。
RBAC模型下的權(quán)限設(shè)計(jì),管理員對(duì)系統(tǒng)操作的各種權(quán)限不是直接授予具體的用戶,而是在用戶組(集合)與資源(權(quán)限)之間建立一個(gè)角色集合。每一種角色操作相應(yīng)的資源(權(quán)限)。一旦用戶被分配了適當(dāng)?shù)慕巧?,該用戶就擁有此角色的所有操作?quán)限。
這樣就方便管理員對(duì)權(quán)限的管理,不用為每一個(gè)用戶分配,只需為用戶分配相應(yīng)的角色即可。當(dāng)更改權(quán)限的時(shí)候,只更改角色的權(quán)限,就達(dá)到更改用戶的權(quán)限的目的。簡(jiǎn)化的用戶的權(quán)限管理,減少了系統(tǒng)的開(kāi)銷,也提高了工作效率。
3 考試安排中主要角色設(shè)置
考試安排中主要涉及到考務(wù)工作人員對(duì)學(xué)生在哪一個(gè)時(shí)間段在哪些教師的監(jiān)考下進(jìn)行哪些科目的考試的一個(gè)總體安排。其中主要的角色就大致分為三個(gè),考務(wù)管理員、學(xué)生、教師。
3.1 考務(wù)管理員
考務(wù)管理員,就是系統(tǒng)的最高權(quán)限擁有者,是整個(gè)考試管理過(guò)程的管理者,主要負(fù)責(zé)考試的安排,用戶的管理,權(quán)限的分配,預(yù)約考試等。他可以操作系統(tǒng)中所有的資源,考務(wù)管理員的用例圖如圖3.1所示。
3.2 學(xué)生用戶
整個(gè)系統(tǒng)中使用時(shí)間最多的就是學(xué)生用戶,主要在系統(tǒng)中查詢自己的考試科目及考試安排、預(yù)約考試等。他們可操作的資源就比較少,學(xué)生的用例圖如圖3.2所示。
3.3 教師用戶
教師在考務(wù)工作中主要負(fù)責(zé)考試的監(jiān)考,課程考試的集體預(yù)約,以及成績(jī)查詢。教師具體的用例圖如圖3.3所示。
4 RBAC的具體實(shí)現(xiàn)
考試安排系統(tǒng)的技術(shù)實(shí)現(xiàn)方式為JavaEE的S2SH(Struts2+Spring3+Hibernate)框架+MySQL數(shù)據(jù)庫(kù)。在設(shè)計(jì)權(quán)限時(shí),采用自定義一個(gè)標(biāo)簽來(lái)完成基于角色控制策略的細(xì)粒度的功能權(quán)限管理,再結(jié)合Springsecurity框架完成整個(gè)安全訪問(wèn)策略。
5 結(jié)束語(yǔ)
RBAC模型在考試安排中的應(yīng)用,保證了考試安排中數(shù)據(jù)的完整性,功能權(quán)限的按用戶組,按角色進(jìn)行分配。簡(jiǎn)化了很多系統(tǒng)的重復(fù)操作,提高了工作效率。
參考文獻(xiàn):
[1]百度百科.權(quán)限管理[EB/OL].http://baike.baidu.com/view/2108713.htm.
[2馮巍.遼寧工程技術(shù)大學(xué)考務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].電子技術(shù)大學(xué),2010.
[3]劉斌.JavaWeb整合開(kāi)發(fā)[M].北京:電子工業(yè)出版社,2011:116-119.
作者簡(jiǎn)介:向蘭宣,男,四川瀘州瀘州職業(yè)技術(shù)學(xué)院教務(wù)處,助理實(shí)驗(yàn)師,研究方向:計(jì)算機(jī)技術(shù)的應(yīng)用,Web網(wǎng)站的設(shè)計(jì)。
作者單位:瀘州職業(yè)技術(shù)學(xué)院,四川瀘州 646005