摘要針對學生管理系統權限分配的實際問題,提出將角色和任務機制同時作用于權限訪問控制,同時將數據對象和功能對象都作為權限分配的對象。基本思想是:將用戶具有的長期功能權限與臨時任務權限相分離,對于固定的功能權限,采用基于角色的權限分配方法,利用角色分離同類用戶;對系統流程化的操作,利用基于任務的權限訪問方式。兩種方法的結合很好地客服了兩者的不足,解決了實際問題。
關鍵詞綜合管理系統 權限管理 訪問控制 工作流
中圖分類號:C931文獻標識碼:A
0 引言
在當今的高校學生管理中,信息化發展已經成為必然趨勢。本文涉及到的學生管理系統是一個集成的,多用戶共享系統,包括多個功能模塊,用戶權限分配復雜,因此,如何有效地管理用戶權限的訪問控制問題,成為了決定系統成功與否的關鍵。就訪問控制權限管理的發展而言,目前主要有基于角色的訪問控制參考模型①和基于任務的訪問控制方法。②2005年洪帆等人結合兩種方法的優缺點,設計了一種通過任務將角色和權限聯系在一起的方法,③實現了動態職責分離。
本文結合兩種方法的優點,提出一種適合于高校學生管理系統的綜合用戶權限管理模型。將系統的操作權限作為功能的一部分列入功能表,同時將數據對象與功能權限相分離,作為權限分配的獨立部分,并利用角色機制對系統功能進行授權,對于用戶及角色間的流程控制,采用任務機制進行授權,從而從整體上提高了系統的效率和權限分配的靈活性。
1 系統需求分析
(1)從功能角度分析:系統分為學生基礎數據、課程考勤、綜合測評、查詢統計、系統設置等15個模塊。功能上分為增加、刪除、修改、查詢、統計、打印功能。由此設計數據表,將系統功能模塊和對應的操作功能全部編入數據庫的功能表,每項功能設置唯一的功能號,且每個功能具有相應的操作URL。
(2)從用戶角度分析:系統主要提供給超級管理員、領導、系管理員、輔導員等部門錄入學生基本信息。每類用戶對系統功能具有操作一致性,系統的某項功能出現增刪改時,同類用戶在功能上統一操作,因此利用基于角色的權限管理模式來控制用戶的角色信息,將同類用戶定義為統一的角色,這樣可以避免為每個同類用戶重新分配功能權限以及修改權限所造成的重復工作,盡可能的消除數據庫冗余數據,節省存儲空間。
(3)從數據角度分析:數據因用戶不同而不同,用戶對班級具有的功能權限不同,如輔導員只管理幾個班級,而系管理員則要授權全系的所有班級,教務部、超級管理員則需要全部學生信息,因此對于用戶而言既要分配功能權限,又要分配班級數據管理權限。
(4)從任務角度分析:對于本系統而言,某些部門之間會出現一些流程化的操作,使各任務在不同部門、不同角色之間進行流轉,涉及到的用戶很多。系統要為這些臨時或定期執行的任務分配工作流模塊,因此設計了基于任務的權限控制管理模型,為用戶確定具有使用期限的功能權限。
(5)從系統安全角度分析:系統用戶只具有一定的功能和數據權限,既不能訪問未經授權的功能列表,也不能訪問其他班級或系的數據,對與其無關的任務流程操作也無權瀏覽。因此,在用戶進入系統前,需要判斷用戶的訪問權限,設置統一的系統安全過濾器,屏蔽掉用戶不具有的功能。
2 基于角色的權限管理模型
根據基于角色的權限訪問控制思想,對學生管理系統進行分析,找出所有同類的角色,對這些角色分配權限,再為用戶分配相應的角色。傳統的權限管理將數據權限和功能權限都分給角色用戶,由于屬于相同角色的用戶對功能對象具有相同的訪問權限,但屬于同一角色的不同用戶對數據對象的訪問權限是不同的。因此系統將班級權限和功能權限分離,分別對班級和功能進行授權。
通過對系統需求進行分析,在本系統中將用戶大致分為系統管理員、系管理員、輔導員、領導、學工部5個角色。對這5類用戶按照其平時的工作權限對系統15個功能及其子功能分配權限。對于數據權限的分配,將用戶分為三類:(1)超級管理員,學工部,教務部:管理所有學生數據;(2)系管理員、領導:管理某一個系或者多個系的學生數據;(3)輔導員:管理具體的幾個班級學生數據。由此,1類用戶不需要特別指定班級,會自動按所有系形成全部的班級信息;對于2類用戶由于院系信息相對于班級信息量要小得多,只要選擇了院系就可以自動形成符合院系條件的班級列表;對于3類用戶則需制定輔導員所管轄的所有班級列表。這樣的設計相比對所有用戶都分別指定管理班級大大減少了操作量,同時避免了用戶表中班級數據項產生的大量冗余數據,節省了數據庫空間,減輕了查詢統計操作中數據庫的負擔。
3 基于任務的權限管理模型
基于任務的訪問控制采用“面向任務”的觀點,從任務的角度來建立模型和權限分配機制,在任務處理的過程中提供實時的權限分配策略,非任務執行無法訪問任務賦予的權限。對象的訪問控制不是靜止的,是上下文相關的,對數據的處理都與以前的處理相關。在本文闡述的學生管理系統中,系統需要滿足下列準則:
準則1:在授權的過程中,可以是用戶之間直接進行授權,也可以是用戶授權給某類角色,或者由角色授(下轉第53頁)(上接第51頁)權給某個用戶,但需要注意的是如果是用戶與角色之間相互授權,則要把自己剔除掉,否則容易造成系統的死循環。
準則2:任務流加入了時態約束,即每個授權步驟都需要授權期限,一旦過了授權期限系統自動回收用戶的權限,即任務不能無限制的等待,以免影響下一個操作步驟。
準則3:最小特權原則,在執行任務時只給用戶分配所需的權限,未執行任務或任務終止后用戶不再擁有所分配的權限;而且在執行任務過程中,當某一權限不再使用時,授權步自動將該權限回收。
準則4:任務的功能權限要高于角色的功能權限,即若用戶的角色中擁有對某數據的錄入權限,而該錄入權限是任務的某個授權步驟,則在該用戶執行步驟結束后,該用戶對于該數據的錄入功能也將被凍結。
準則5:在某個功能權限執行過程中,另外一個任務不能同時施加于這個功能上,即一個功能不能同時參與兩項或多項任務。
準則6:對于用戶和角色來說,可以是多個任務同時進行或者交叉進行,多任務并不影響不同的功能權限的分配。
4 結束語
本文結合學生管理系統的實際需求,找到了切合實際需求的基于角色和任務權限訪問控制方法的結合點,同步實現了系統的功能權限和數據權限管理,以及臨時或定時任務的對權限分配的要求。做到在系統權限發生變化時,盡量不改動系統代碼就滿足學生管理的要求,提高了軟件的靈活性,及系統的權限執行效率,為用戶提供了便利。
基金項目:秦皇島市科學技術研究與發展計劃 (200901A035)
注釋
①Sandhu R, Ferraiolo D, Kuhn R. The NIST model for role-based access control: Towards a unified standard[C]. New York:Proceedings of 5th ACM workshop on role based access control, ACM Press, 2000:47-64.
②陳風珍,洪帆.基于任務的訪問控制(TBAC)模型[J].小型微型計算機系統, 2003.24(3):621-624.
③邢光林,洪帆.基于角色和任務的工作流訪問控制模型[J].計算機工程與應用,2005.41(2):210-213.