[摘 要] 通過研究CRM用戶管理系統的特點,提出一種新型的基于RBAC的CRM動態用戶訪問控制模型#65377;并進一步給出了基于J2EE架構的實現模型#65377;
[關鍵詞] 客戶關系管理;基于角色的訪問控制; J2EE架構
[中圖分類號]F270.7;TP315[文獻標識碼]A[文章編號]1673-0194(2009)02-0071-02
1 引 言
客戶關系管理(Customer Relationship Management,CRM) 源于以“客戶為中心”的新型商業模式#65377;CRM的目標是一方面通過提供更快速和周到的優質服務吸引和保持更多的客戶,另一方面通過對業務流程的全面管理來降低企業的成本#65377; CRM系統作為實施CRM的技術手段,利用網絡和信息技術,針對營銷#65380;銷售#65380;客戶服務#65380;客戶交互和客戶分析等面向客戶的業務領域提供了一個業務自動化平臺#65377;該平臺集成了企業內部和外部應用,支持企業管理人員#65380;營銷人員 #65380;客戶等的溝通和協作,其用戶管理具有用戶類別多#65380;角色交叉重疊#65380;功能權限細分#65380;數據訪問權限細分#65380;權限動態變化#65380;需要個性化的信息服務等特點,因此如何對用戶訪問控制進行建模和實現是一個比較突出的問題#65377;
基于角色的訪問控制(Role-Based Access Control,RBAC) 引入角色這一中介,將訪問許可權限分配給角色,然后再將角色授權給用戶#65377;通過分配角色給用戶,降低了訪問控制的復雜性#65377;本文在RBAC模型基礎上,通過增加團隊來滿足CRM中的動態數據訪問控制#65377;同時通過增加個性化數據集服務,建立面向用戶的個性化服務模型,既可實現用戶當前的#65380;明確的需求,也能滿足用戶長遠的#65380;潛在的信息需求#65377;
2 RBAC模型
RBAC的核心思想是把訪問權限賦給角色而不是用戶,用戶通過它所屬的角色來獲得訪問權限[1]#65377;基于角色的訪問控制(Role-Based Access Control,RBAC)模型,較以往的自主型訪問控制(Discretionary Access Control,DAC)模型和強制型訪問控制(Mandatory Access Control,MAC)模型相比,具有更強的靈活性和更廣泛的適用性#65377;它主要引入了角色這一概念,角色的實質是一個或一群用戶在組織內可執行的操作的集合#65377;在RBAC內,角色為訪問控制的主體,角色決定了用戶對資源所擁有的權限以及可以執行的操作,其中訪問控制策略在RBAC中主要體現為用戶/角色#65380;角色/權限和角色/角色之間的關系,另外, RBAC中引入 “角色繼承”機制,即子角色繼承其父角色的所有屬性和權限#65377;RBAC具有如下特點:授權管理靈活;授權管理機制更加接近實際#65380;更加社會化;用戶#65380;角色和權限是多對多的關系;系統的操作用戶與數據對象沒有直接的聯系#65377;RBAC模型如圖 l所示#65377;

3 基于J2EE的CRM的設計
3. 1系統的3層體系結構
J2EE架構本身不支持RBAC#65377;系統是在Web應用與EJB容器之間,通過擴展數據業務邏輯層來實現RBAC系統的#65377;CRM系統遵循J2EE規范,采用了先進的3層體系結構,分別為數據表示層#65380;數據業務邏輯層和數據存儲層,分別運行于Web服務器#65380;應用服務器和數據庫服務器,系統中的業務邏輯層是整個系統的核心,部分業務邏輯位于Web服務器端,另一部分位于應用服務器端#65377;該架構一個顯著的特點:CRM系統中基于RBAC的授權訪問#65380;角色管理和客體的操作授權主要由角色管理 Servlets組件來實現#65377;系統中數據存儲層的部分授權訪問是由角色管理 Servlet和 EJB組件協同完成的#65377;本文主要介紹與RBAC系統相關的實現#65377;系統基于J2EE架構的受限訪問模型原理如圖2所示#65377;

3. 2CRM 中基于RBAC的實施
對CRM用戶訪問控制進行建模,首先需要分析CRM系統的用戶管理和服務特點[2]#65377;
(1)用戶類別多#65380;權限變化快#65377;CRM系統不僅涉及企業銷售部#65380;市場部#65380;財務部#65380;人事部 #65380;售后服務部等多個部門的幾十個職能角色 ,而且涉及企業不同等級的交易客戶#65380;潛在客戶等角色#65377;企業由于業務變化,有經常性變動員工權限的需要#65377;
(2)用戶職能交叉重疊#65377;CRM系統涉及的角色之間存在復雜的業務關系#65377;不同部門或職能的用戶會進行同樣的操作,例如銷售部經理和員工都可以進行餐費申請操作#65377;
(3)數據隔離#65377;在CRM系統中銷售人員對資源(如客戶資源)的訪問是受限制的,他們只能查看到自己負責的客戶信息,不能訪問其他員工負責的客戶信息,因而需要很好的數據隔離措施#65377;
(4)需要個性化應用#65377;每個用戶隨著業務范圍的擴展和工作的進展,需要個性化的信息服務#65377;
在基于 Web的RBAC應用中,用戶訪問過程實質上是一個客戶程序與組件間的交互過程#65377;具體過程簡要描述如下:用戶登錄,欲訪問后臺數據庫系統,首先要建立同RBAC系統的會話連接,用以檢測用戶的合法性;RBAC系統指定用戶的角色,從而確定其訪問許可,其中這些角色的選擇符合角色的限制條件#65380;角色等級限制和最小權限原則;利用訪問組件,實現該角色所具有的相應的系統操作功能#65377;用戶經選擇某項功能,訪問控制組件將創建用戶同RBAC系統的會話,用戶取得授權,然后通過數據庫訪問組件對數據庫進行訪問,并進一步返回結果#65377;
CRM 中的整個RBAC系統的實現主要依賴于Servlet#65380;EJB組件#65377;其中訪問控制組件是RBAC系統的核心,訪問控制組件由3個主要模塊組成:授權管理模塊#65380;訪問主體關系管理模塊和權限分配模塊[3]#65377;授權管理模塊提供對授權的基本維護管理,如增加#65380;刪除#65380;修改等,同時實現對授權之間的互斥#65380;包容關系的定義;訪問主體關系管理模塊負責處理訪問控制系統中各用戶#65380;各種角色與不同職能部門機構之間的授權關系管理;權限管理模塊負責對用戶#65380;角色的添加#65380;刪除#65380;權限分配等操作,同時實現特殊授權的指派處理#65377;
4 結束語
基于角色的訪問控制(RBAC)是信息與網絡安全領域的一種較新的訪問控制技術#65377;本文在J2EE平臺上結合組件技術,提出了一種基于Web角色的RBAC應用模型,圍繞企業客戶關系管理的實際需求,對RBAC在系統中的設計實現進行了分析,并對實現CRM系統中基于J2EE的訪問控制做了探討#65377;
主要參考文獻
[1] 李仲,楊宗凱,劉威. 一種基于 RBAC的實現動態權限管理的方法[J]. 計算機技術與發展,2006,16(10):1-4.
[2] 夏志雄,張曙光. RBAC在基于Web管理信息系統中的應用[J]. 計算機應用研究,2004(7):198-199.
[3] 沈顯君,莊超,楊進才,等. 基于RBAC的移動代理安全策略[J]. 計算機工程與設計,2005,26(2):329-331.