王駿,韋文亮
(中國人民解放軍95275部隊,廣西柳州,545000)
RBAC是Role-Based Access Control的簡稱,其含義是基于角色的權限控制系統,其興起于上世紀90年代,直到現在仍然在眾多系統中活躍。RBAC將權限控制的過程抽象成Who是否可以對What實施How操作,并對這個邏輯進行判斷以返回是否為True的結果。也就是將訪問權限轉換為Who、What、How的三元組。
RBAC的三個核心元素是用戶、角色和許可權,由于RBAC經歷了多個版本,因此其組成元素稍有差異,但其核心元素依然是上述三者?;赗BAC的權限控制實際上是對用戶、角色和權限的再分配的處理的集合。RBAC通過定義不同的角色并且賦予角色不同的權限從而來控制用戶的權限,如此設計實現了用戶和權限的邏輯分離,非常有利于權限分配和管理。
角色是RBAC的核心,為了更好的分配權限,所有的用戶都屬于一個或多個角色(比如一位管理員,可能也是一位教師,那么其就應該是雙重角色,具備這兩個角色的權限之和),它們之間的關系如圖1所示。

圖1 用戶、角色、權限直接的關系
權限一般是對某一個路由的操作許可,也可以理解為是否有許可操作某一流程,常見的許可有增(增加)、刪(刪除)、改(更改)、查(查詢)等,而許可可以進一步細分為對某一項流程的許可,這樣隨著流程的增多,權限的條目就會變的復雜。
角色實際上是一個抽象,其是虛擬的可能并不存在,也可能是現實崗位功能的復制或部分復制,在系統的賬戶中可能會存在一個用戶多重角色的現象,這對系統角色和權限的設計是個不小的考驗。
用戶即網站的注冊用戶,其注冊后會自動獲取默認的角色,當然也可以進行某些劃分歸為目標角色。
RBAC模型簡化了用戶和權限的關系,將復雜的關系抽象為簡單的邏輯表達,容易擴展和維護,成為系統權限控制的熱門選擇,但RBAC模型沒有順序控制機制,這對于那些對操作順序有要求的系統并不友好,但信息化資源共享平臺并沒有這一要求,因此RBAC模型適合此系統的權限控制。
用戶、角色、權限三者各自細分許可后,許可再與流程進行結合,就構成了RBAC權限控制模型,此處略去流程細節,僅抽象用戶、角色、權限三者,并將其許可抽象為增、刪、改、查以簡化模型復雜度。
RBAC模型抽象化后,在數據庫中可以簡化為4張數據表用于控制整個系統的權限正常運行,這四張表如圖2所示。rule表用于存放規則,item表用于存放角色和權限,child表用于存放授權條目的層次關系,assignment表用于存放授權條目對用戶的指派情況。利用后臺邏輯技術對四張數據表進行控制,即可實現RBAC模型鑒權。

圖2 RBAC模型數據庫設計
基礎信息的建設是信息化教育發展的核心所在,信息化教學資源平臺建設是把教師和學生所需的各種分散資源進行整合、分類和加工,最終實現教學資源共享。隨著時間的流去,教學沉淀下的資料和經驗不斷增多,合理的管理這些資源并使其發光發熱是亟待解決的問題,因此信息化資源共享平臺的建設是有重大的需求基礎的。
隨著信息技術發展,高校對信息化資源建設也非常重視。2019年,成都工業職業技術學院的張蜀艷等,在《科技資源共享服務平臺建設研究》中總結國內外科技資源共享服務平臺建設的理論與實踐經驗,從我國實際出發提出適合中國特色的科技資源共享模型,探討了制度化合作型科技資源服務平臺作為將來最為理想共享模式的建設重點和內在邏輯;2020年,東北財經大學的陳麗萍在《大數據視角下的高校管理信息化建設研究》從整體以及邏輯層面對基于大數據的管理信息化建設進行了詳細研究和闡述,并提出了建設模型。
前臺用戶經過RBAC鑒權后進行分流,在RBAC的權限控制下進行相應的操作,最終操作的記錄保存進數據庫生成操作日志(圖3),供管理存檔。RBAC作為整個系統的鑒權功能,幾乎存在與每一步的流程中,因此RBAC模型的設計完成之后,需要經過多次論證,以保證其對整個系統的控制是嚴謹并且高效的。

圖3 信息化資源平臺用例
2.2.1 前端設計
考慮到移動設備的盛行,前端采用移動優先策略,并且自適應廠家的設備,這樣可以滿足用戶在移動設備登錄的情況下能夠體驗良好,國內的Element框架能夠滿足這一需求,可以其為基礎進行設計以滿足系統需要。
2.2.2 后端設計
后端的設計是整個系統的核心,處于效率和成本的考慮,會選擇類Unix系統進行環境搭建和配置,MySQL能夠支持百萬級別的數據,而Linux在文件存取方面有較高的性價比,因此基于 LNMP(Linux、Nginx、MySQL、PHP)的環境,能夠快速、高效的實現需求。后端的功能主要包括:
(1)用戶功能:用于用戶的管理,涉及到用戶信息的更新與編輯、用戶的注冊與服務等模塊。
(2)RBAC管理:本系統的權限控制模塊,涉及到路由的管理,用戶的授權和角色的建立以及規則的建立。
(3)資源管理:為本系統的核心功能,在RBAC鑒權的控制下,用戶對系統內的資源進行按需訪問,保障資源的有效運行,同時后臺管理員對滿足條件的資源進行相應的操作,以保障系統健康。
(4)積分管理:上傳資源進行積分獎勵,對違規資源或行為進行扣分,對優質資源進行評分,以提高用戶參與度,積分管理涉及到詳細的積分策略,是系統的重要模塊。
隨著高校對信息化建設的重視度的提高,對于信息化教學資源管理部門的設置也逐漸正規化。隨著時間的推移,高校信息化資源建設也必將進入快車道,而信息化資源的建設也將與在線教育互相推進、相得益彰,從而推進信息教育的快速發展。