李江 閭松



【摘要】RBAC是業界目前公認的解決統一資源訪問控制的有效方法。本文利用RBAC完成網上書城的設計,在完成網上書城功能的同時,提高了系統的安全性。RBAC是將權限分配給一定的角色,而不是直接分配給用戶,用戶通過飾演不同的角色來獲得角色所擁有的權限。這樣,不同角色登錄網上書城后,能夠完成的功能操作不同,大大提高了系統的安全性和可操作性,而且不需要在每次創建用戶時進行權限分配的操作,只需為用戶分配相應的角色即可,角色的權限變更比用戶權限變更要少得多,因此,極大地簡化了授權管理,減少了系統的開銷。
【關鍵詞】角色 權限 管理
1 RBAC模型
權限一般可以理解為系統對用戶能夠執行的功能操作所設立的額外限制,用于進一步約束系統用戶能操作的系統功能和內容訪問范圍。而RBAC是一種更方便、安全、高效的訪問控制機制,RBAC從控制主體的角度出發,根據管理中相對穩定的職權和責任來劃分角色,將訪問權限與角色相聯系,通過給用戶分配適當的角色,讓用戶與訪問權限相聯系。角色成為訪問控制中訪問主體和受控對象之間的一座橋梁,RBAC模型如圖1所示。
2網上書城三層體系結構
本文設計的網上書城采用模型層、視圖層和控制層體系結構,JavaBean、JSP、Servlet分別充當著這三個角色。視圖層負責從用戶獲取數據和向用戶顯示數據,在這層中不負責對數據流程的控制和業務邏輯的處理。而模型層負責處理業務邏輯和數據庫的底層操作,其中視圖層和模型層沒有直接的聯系。控制層主要負責處理模型層和視圖層的交互,控制層接受視圖層的請求,然后從模型層取出對請求的處理結果,并把結果返回給視圖層。在控制層中只負責數據的流向,并不涉及具體的業務邏輯處理。JSP頁面充當視圖層,負責頁面的表示,Servlet處于控制層,控制業務的流程跳轉,JavaBean充當著持久層的角色,進行持久層的操作,和數據庫打交道,完成數據的增刪改查CRDU。頁面的設計采用模塊式開發,在其他頁面中需要用到這些頁面的時候,只需要調用即可實現代碼的復用,例如主要頁面的頭部和尾部。網上書城三層體系結構如圖2所示。
3 RBAC在網上書城的應用
權限管理模塊包括用戶管理、角色管理以及權限管理。用戶管理模塊用于管理員工的信息,比如書店聘用了新的員工,那么就需要在系統中增加一個員工信息并根據員工的職責給該員工分配相對應的角色,此外,還包括員工的刪除、員工資料的修改等等。角色管理包括新增角色信息、刪除角色信息、編輯角色信息、以及為角色分配權限等操作,權限的管理則包括權限的增刪改查,通過讓用戶扮演不同的角色來實現權限的控制。
權限管理由員工管理、角色管理、權限管理三個小模塊組成,員工管理的功能有:員工的添加、員工的編輯、員工的刪除以及為員工分配角色;角色管理的功能有:角色的添加、角色的編輯、角色的刪除以及為角色分配權;權限的管理的主要功能就是添加角色、編輯角色、刪除角色,權限管理功能描述表如表1所示。
在權限管理界面,選定某一個員工,點擊后面的分配角色按鈕,跳轉到分配角色的界面,左右兩個列表框中分別顯示系統擁有的所有角色和已分配的角色,選定完成后點擊保存即可完成角色的分配,設置好系統的角色后,給一個用戶分配一個或者多個系統中的角色,當管理員進行操作,如果擁有這部分的權限,那么能夠正常操作,如果越權操作,那么會彈出錯誤提示畫面,用戶可以重新選擇想要進入的界面,如果用戶沒有操作,3秒鐘之后跳轉到后臺管理系統基本界面。
4小結
傳統書店隨著書店規模的增大,管理變得越來越繁瑣,管理系統在管理方面具有手工管理所無法比擬的優點,這就意味著開發一個網上書城管理系統符合了時代的需求。系統還做了如下幾方面的安全性考慮,例如通過禁止用戶輸入危險字符和替換輸入字符中危險字符的方式來防止SQL注入,會員注冊時需要填寫正確的隨機驗證碼信息,采用這種方式來防止惡意的攻擊。系統也充分考慮到用戶的體驗,例如在顧客購物訂單提交后,系統自動向顧客發送郵件提示,在頁面的表現形式上也能夠給用戶良好的視覺體驗。
參考文獻:
[1]Xinze Guo,Chuanchang Liu,Zhiyuan Su. A Novel OA System Access Control Method Based on Improved RBAC Model[J]. IOP Conference Series: Materials Science and Engineering,2019,490(6).
[2]Jianfeng Lu,Yun Xin,Zhao Zhang,Hao Peng,Jianmin Han. Supporting user authorization queries in RBAC systems by role permission reassignment[J]. Future Generation Computer Systems,2018.
[3]Abdelouadoud Stambouli,Luigi Logrippo. Data flow analysis from capability lists, with application to RBAC[J]. Information Processing Letters,2018.
[4]Ning Pan,Zhiqiang Zhu,Liangsheng He,Lei Sun. An efficiency approach for RBAC reconfiguration with minimal roles and perturbation[J]. Concurrency and Computation: Practice and Experience,2018,30(11).
作者簡介:李江(1971-),男(漢族),湖北黃陂人,南昌航空大學職工。主要從事:多媒體及計算機應用。