劉 璐,孫立民,孫宏波
(煙臺大學 計算機與控制工程學院,山東 煙臺 264005)
基于權限對象的用戶管理策略
劉 璐,孫立民,孫宏波
(煙臺大學 計算機與控制工程學院,山東 煙臺 264005)
當企業的業務類型由規模生產向定制化生產轉變時,其信息系統面臨管理粒度、市場快速響應等挑戰,也對用戶管理策略提出了更高要求。然而,傳統的用戶管理策略對客體的管理粒度較粗,動態性能不佳,很難滿足企業轉型升級的需要。提出了一種基于權限對象的用戶管理策略,從多個維度對權限進行約束,能夠有效實現動態、靈活的在線權限配置,并結合實際系統,對該權限控制、權限生成與權限變更等方法的可行性進行了驗證。結果表明,用戶管理策略的有效性和靈活性都得到了顯著提高。
信息系統;用戶管理策略;權限對象;權限控制;動態權限
工業直接體現了一個國家的生產力水平,是我國經濟增長的發動機[1]。進入本世紀以后,步入工業化后期的中國作為制造大國的地位已經被世界所公認,而國際經驗表明,該階段往往是曲折和極富挑戰性的。對我國而言,后工業化的主要挑戰包括人力成本、產業集群的支持和產品對于市場的快速響應等[2]。
傳統的企業信息系統主要配合大規模工業生產[3],當企業的業務類型由規模生產向定制化生產轉變時,其信息系統也面臨著巨大挑戰,其中包括[4]:①企業生產產品的種類更多,管理更加復雜。在生產過程中,制程和BOM(Bill of Material)隨時會發生變化,混批生產成為一種常態;②企業的管理粒度更加細化,不再局限于批次管理,而是要能夠做到個體產品的有效追溯;③由于需要對市場作出快速響應,企業的生產決策需要更加靈活和便捷。
與此同時,隨著企業業務的發展,企業信息系統中的用戶與角色信息逐漸變得更加復雜[5],為系統設置有效的用戶管理策略也成為信息系統中需要重視的環節[6]。本文提出了一種基于權限對象的用戶管理策略,從權限控制、權限生成、權限變更等方面論述了可有效管理多種類、小粒度的多維權限客體,以及通過動態權限提高生產決策靈活性的一種解決方案。
本文中的用戶管理策略是指對與系統相交互的操作者行為進行約束的一種機制[7],包括權限生成、權限控制、權限變更等方面。其中,權限控制是核心問題。權限控制是指特定主體針對特定客體的行為進行控制,其三個要素分別為:主體、客體和行為。
權限主體,指權限控制中行為的發出者。主體主要包含個人主體和群體主體。群體主體指用戶組,他們往往具有某些相同的操作約束,如某公司的用戶不能訪問集團內其它公司的數據。對于群體主體的約束相當于對用戶組中的所有個體都設置了相應約束;個人主體主要指某一具體用戶。針對權限主體,傳統信息系統中大多采用基于角色的訪問控制策略(RBAC, Role Based Access Control)[8]。它從主體的角度,將使用系統的用戶劃分成不同角色,通過對角色權限的授予,使用戶獲得權限。
權限客體,指權限控制中接受主體所發出行為的受體。傳統的權限客體主要包括空間和類。類是同構操作對象的集合,而空間是異構類的集合。傳統的客體約束方法有權限鎖[9]和空間指定方式[10]。
權限行為,指權限控制中主體對客體進行的操作,分為可視行為和可操作行為。可視行為指系統中主體對客體的可見性,包括對空間的可見性、對類的可見性、對屬性的可見性和對對象的可見性;可操作行為指可對客體進行的管理和操作,也包括對空間的可操作性、對類的可操作性、對屬性的可操作性和對對象的可操作性。傳統的行為約束方法有權限控制表[11]、權限控制矩陣[12]等方式。
當需要進行更小粒度以及更加靈活的權限控制時,傳統的權限控制方法則會面臨以下挑戰:①在粒度上,很難管理具體的屬性和實例,比如要對屬性的可見性(如成本、收益等字段對操作同一界面的有些用戶可見,而對其他用戶不可見)進行設置,則非常不方便,而且同樣的操作,還有可能看到的內容不同(比如在客戶訂單錄入過程中,在沒有提交之前,業務員能夠看到并操作自己錄入的單據,而不能操作他人錄入的單據);②在便捷性上,傳統的權限控制主要采用靜態指定的方式,在用戶登錄系統之前即需要確立用戶權限,并在整個操作過程中無法變更。但是,權限也可能出現在用戶登錄系統之后,在執行過程中需要變更(比如,客戶訂單錄入過程中,責任人突然離崗或沒時間處理,則需要動態變更該訂單的責任人,并進行下一步工作)[13];③在靈活性上,傳統的權限控制變更只能在重新配置并重啟系統后生效[14],當企業信息系統不能夠停機重啟時,則只能等待錯誤發生。
因此,本文研究了一種基于權限對象的用戶管理策略,提出了多維權限控制和動態權限的實現方式,并論述了其權限控制、權限生成與權限變更等內容的實現。其中,多維權限控制的客體包括實例、類的屬性、類和空間,而動態權限主要通過權限對象來完成。
2.1 權限對象
權限對象指權限類的實例,表示對資源或標識的訪問權限。具體到企業信息系統,表示對系統中各個模塊的可視或操作權限。
對系統權限控制需求進行分析時,不可忽略權限行為的約束時機。針對此系統而言,主要將權限分為三種情況:①永久權限。當用戶登錄系統時,通過身份驗證之后確立的權限[15],并其在整個操作過程中所具有的權限始終與用戶登錄系統時的權限保持一致;②臨時權限。用戶A進入系統后,由于出現特殊情況,不能及時對客體做出相應操作,但用戶B需要進行某操作O,此時用戶A可以將操作O的權限發送給用戶B。這是一種特殊的權限控制方式,由于權限行為約束處于特殊時機,也稱之為動態權限控制;③操作權限。用戶進入系統后,對系統進行增加、刪除、查詢或修改操作時判斷,當前用戶是否具有對此功能進行操作的權限。操作權限通過權限控制碼進行屬性配置,因此在數據庫中采用了特殊權限控制矩陣的存儲方式。
2.2 權限對象生成
用戶權限對象的生成有多種方式[16],可由系統管理員登錄系統之后通過權限配置界面對不同用戶所具有的權限進行統一配置,也可由比當前用戶更高權限的用戶授予。但對首次登錄系統的管理員需要進行初始化設置。
2.2.1 權限對象初始化
系統初始化時,為系統預先設置超級管理員身份,考慮到系統安全性,此權限應為一次權限。該身份不可進行系統的任何操作,只能進行權限配置,且無需進行身份驗證。首次進入系統后,超級管理員為自己分配一個用戶并配置與管理員身份對應的權限。退出系統時,消費一個超級管理員一次權限。再次登錄系統時,使用新分配的管理員身份進行登錄,并完成系統中的身份驗證,通過驗證之后產生管理員的權限對象。
2.2.2 權限對象配置與存儲
通過對權限對象的配置與存儲完成整個權限對象的生成過程[17]。對用戶權限的配置主要分為兩種情況:①管理員完成權限對象授予的過程,包括對用戶的角色信息、操作空間、保密分類、操作權限等權限對象屬性的配置(見圖1);②較低權限用戶的權限可以由與其權限相關的較高權限用戶授予。此權限可以是一個權限,也可是多個權限。如生產部長的權限可由管理員配置,當生產部長通過身份驗證登錄系統后,其分管的生產部員工的權限可由其進行授予。

圖1 權限對象配置過程
2.3 使用權限對象進行權限控制
管理員為用戶分配權限后,將用戶對應的權限保存到數據庫中。用戶再登錄系統,完成身份驗證,產生相應權限對象,儲存在系統內存,當用戶進入系統后便一直保持此權限對象所包含的功能。
用戶通過身份驗證登錄系統時,在系統中添加一個權限對象類PrivilegeObject,包含操作空間、角色信息、賬戶信息、保密分類和操作權限信息等屬性。管理員為用戶配置權限時分別配置用戶的上述屬性信息,并保存到數據庫中。用戶登錄系統時,從數據庫中讀取對應的屬性信息,通過身份驗證后,組成該用戶的PrivilegeObject類,如圖2所示。

圖2 權限對象使用過程
2.4 權限通信與變更
權限的通信與變更都是指在用戶權限管理過程中出現的特殊情況。
2.4.1 權限通信
權限通信是系統中傳遞權限的過程,將權限對象在兩個用戶的權限實例間傳送。權限配置時的權限授予與動態權限都是權限的通信過程。在權限對象中添加SendRight()方法和GetRight()方法,將權限對象中的某一屬性在權限實例間完成通信過程。例如生產部員工無權對BOM中的理論原料成本進行變更或調整,但由于在某一具體生產過程中只能由了解該過程的生產部員工進行調整,因此需要向生產部長申請操作理論原料成本的權限,調用GetRight()。生產部長通過申請后,調用SendRight(),向生產部員工發送理論原料成本權限。考慮到信息系統的安全性,發送的權限應為一次權限,當下次其他生產部員工登錄系統時,不具備此權限,需要再次申請。這一設置可以更加安全有效地調整權限通信過程。
2.4.2 權限變更
權限變更指對用戶配置權限之后,用戶使用此權限時,發現此權限對象設置存在問題,需要對已配置的權限對象進行修改與調整。傳統的信息系統在對用戶權限進行變更時,需要從權限主體、客體、行為分別進行調整[18]。基于權限對象的用戶管理策略對權限進行變更時,授予權限的用戶通過登錄系統,可在權限配置界面對用戶權限進行修改和重新配置。當被修改的用戶再次登錄系統時,可生成新的權限對象,完成權限變更過程。
將基于權限對象的用戶管理策略應用到企業信息系統中,首先應明確企業信息系統包含的權限主體、權限客體以及權限行為[19],確定系統中客體的3個維度包含的內容集合;其次,進行權限的配置與使用,實現將權限對象模式應用到用戶的管理中。
對特定企業的信息系統而言,由不同的類、屬性、對象集合構成不同權限客體。三維權限客體有效解決了當信息系統中對象多元化時二維權限客體有限的表示方式。以制造型企業為例,在完成信息系統需求分析之后,根據不同功能,設計了較為完善的數據庫體系,每個表表示一個類,如貨品基礎資料、制程規劃明細等。類中包含滿足此類的所有字段信息。以貨品基礎資料表為例,每個字段信息可映射為權限客體中的屬性。企業所包含的子公司a和子公司b,信息系統所具有的保密分類1和保密分類2所對應的信息系統中的一條記錄可視為一個對象。
圖3為不同用戶登錄信息系統所配置的權限圖。對于此公司而言,保密分類主要針對是否對貨品基礎資料具有可視或可操作性,其中保密分類2表示對貨品基礎資料有可視或可操作權限,保密分類1不具有可視權限。
以總公司總經理為例,此用戶在信息系統中具有較高權限。對總公司特有部分以及子公司所包含的類、屬性都具有相應權限,設為2級保密分類。當總公司總經理權限包含子公司權限時,只能采用三維權限客體方式進行權限控制。
當完成對權限對象中權限客體的設置后,進行權限的生成和使用過程。圖4為用戶登錄系統使用權限對象的用例圖。如圖所示,當參與者“用戶”啟動“登錄”用例時,需要同時啟動“驗證”用例;當用戶通過身份驗證時,啟動“產生權限對象”用例;當已登錄系統的用戶身份為管理員時,可通過啟動“配置權限”用例,對用戶權限進行配置,部分登錄系統的具有較高權限的用戶也可啟動此用例;之后將配置好的用戶權限通過啟動“存儲權限”用例存儲到數據庫中,使被設置權限的用戶在登錄系統時可以產生權限對象。
以上過程主要涉及用來存放權限對象的類,在信息系統中添加GlobalUser類,其中主要包含用戶的角色信息、操作空間、可操作信息和保密分類等對象屬性。GlobalUser類在用戶登錄系統通過驗證時產生。
用戶登錄系統時通過LoginFrame類中的方法loginOrNot進行驗證。
AccountInfoBean acc=accountInfoLogic.loginOrNot(username, password)
其中,username為用戶名,password為密碼,acc為用戶的賬戶信息類。當身份通過驗證,acc返回值不為空,并將當前用戶的賬戶信息通過GlobalUser類中的setAccount()進行設置。通過查詢權限存儲時存儲的權限信息,確定登錄用戶的操作空間和保密角色等信息,調用setAllSpace()和setSecrecy(),在GlobalUser中進行設置。登錄時創建一個Session變量,封裝登錄的會話信息,在每次登錄時創建該對象,退出時刪除該對象。

圖3 不同用戶登錄信息系統權限配置

圖4 用戶使用權限對象用例
當企業的業務類型由規模生產向定制化生產轉變時,對用戶管理策略提出了更高的要求。然而,傳統的用戶管理策略對客體的管理粒度較粗,動態性能不佳,很難滿足企業轉型升級的需要[20]。本文提出了基于權限對象的用戶管理策略,相比于傳統用戶管理策略,有如下特點:①提出了多維客體的理念,在系統權限客體復雜的情況下,能通過將客體分成三個維度,在多個側面上管理和控制權限;②通過權限對象對系統權限進行配置和管理,提高了權限配置的穩定性、靈活性和安全性。權限對象的提出,可將用戶的各個權限具體到對象中的每個屬性,并通過權限對象間相互發送權限來實現動態權限;③將系統權限對象化可以簡化權限的變更過程,通過權限配置,修改需要變更的權限,在用戶再次登錄系統時,重新生成權限對象,即可完成變更過程。
綜上所述,與傳統用戶管理策略相比,基于權限對象的用戶管理策略把每個權限作為權限對象中的屬性,降低了權限間的耦合度,簡化了用戶權限管理的實現過程,并且能更靈活、全面地管理系統涉及的用戶權限。
[1] 羅文. 工業新常態呈現四大特征[N].中國電子報,2014-12-30(3).
[2] 黃群慧.中國工業發展報告2014[R].中國社會科學院工業經濟研究所,2014.
[3] 黃群慧,賀俊. “第三次工業革命”與中國經濟發展戰略調整——技術經濟范式轉變的視角[J]. 中國工業經濟,2013(1):5-18.
[4] 王建正,王思遠,王瑩,等. 定制規模化——大規模定制研究新視角[J]. 現代制造工程,2014(5):136-140,117.
[5] 賀德富,蘇喜生,丁文. 信息系統中基于角色的權限控制模型研究與應用[J]. 計算機應用與軟件,2008(12):284-285.
[6] 唐成華,陳新度,陳新. 管理信息系統中多用戶權限管理的研究及實現[J]. 計算機應用研究,2004(3):217-219.
[7] 李洲洋,田錫天,賈曉亮,等. 面向飛機制造過程的統一用戶管理體系及策略[J]. 計算機工程與應用,2008(14):212-215,245.
[8] 羅鈞,趙傳智,汪飛. 基于RBAC模型的權限高效管理方法[J]. 計算機研究與發展,2016(5):1000-1008.
[9] 吳嫻,錢培德. 一個多策略安全模型的研究與設計[J]. 計算機科學,2008(6):71-73.
[10] 范艷芳,蔡英,耿秀華. 具有時空約束的強制訪問控制模型[J]. 北京郵電大學學報,2012(5):111-114.
[11] 莫樂群,姚國祥. 基于J2EE的B/S系統的權限控制設計[J]. 計算機工程,2005(10):84-86.
[12] 陳金玉,劉東榮,李卓偉,等. 基于角色控制的教學權限訪問系統的設計與實現[J]. 重慶大學學報:自然科學版,2005(12):59-61.
[13] 孫宏波,顏波,黃必清,等.面向復雜信息系統的用戶管理策略[J]. 計算機集成制造系統,2004(S1):105-113.
[14] 張琳,戰學剛. 管理信息系統中用戶權限管理的實現方法[J]. 沈陽師范大學學報:自然科學版,2005(3):267-270.
[15] 吳波,王晶. 基于基本RBAC模型的權限管理框架的設計與實現[J]. 計算機系統應用,2011(4):50-54.
[16] 湯文亮,李科. 基于RBAC模型的權限管理改進研究與實現[J]. 計算機工程與設計,2015(5):1181-1186,1232.
[17] 吳春雷,張學輝. 一種基于RBAC擴展模型的Web系統權限控制方法[J]. 科學技術與工程,2007(11):2672-2676.
[18] 祖峰,熊忠陽,馮永. 信息系統權限管理新方法及實現[J]. 重慶大學學報:自然科學版,2003(11):91-94.
[19] 易高翔,楊春生,馬良俊,等. B/S模式下基于角色的權限管理系統設計與實現[J]. 中國安全生產科學技術,2008(3):110-113.
[20] 范小康,何連躍,王曉川,等. 一種基于RBAC模型的角色管理方法[J]. 計算機研究與發展,2012(S1):211-215.
(責任編輯:黃 健)
山東省高等學校科技計劃項目(J15LN09)
劉璐(1992-),女,山東萊陽人,煙臺大學計算機與控制工程學院碩士研究生,研究方向為企業信息化;孫立民(1960-),男,山東萊西人,博士,煙臺大學計算機與控制工程學院教授,研究方向為機器學習、模式識別;孫宏波(1977-),男,遼寧沈陽人,博士,煙臺大學計算機與控制工程學院講師,研究方向為企業信息化、電子商務。本文通訊作者為孫宏波。
10.11907/rjdk.162778
TP301
A
1672-7800(2017)003-0007-04