梁 瑩
[摘 要] 通過研究CRM用戶管理系統(tǒng)的特點,提出一種新型的基于RBAC的CRM動態(tài)用戶訪問控制模型?并進一步給出了基于J2EE架構(gòu)的實現(xiàn)模型?
[關(guān)鍵詞] 客戶關(guān)系管理;基于角色的訪問控制; J2EE架構(gòu)
[中圖分類號]F270.7;TP315[文獻標識碼]A[文章編號]1673-0194(2009)02-0071-02
1 引 言
客戶關(guān)系管理(Customer Relationship Management,CRM) 源于以“客戶為中心”的新型商業(yè)模式?CRM的目標是一方面通過提供更快速和周到的優(yōu)質(zhì)服務(wù)吸引和保持更多的客戶,另一方面通過對業(yè)務(wù)流程的全面管理來降低企業(yè)的成本? CRM系統(tǒng)作為實施CRM的技術(shù)手段,利用網(wǎng)絡(luò)和信息技術(shù),針對營銷?銷售?客戶服務(wù)?客戶交互和客戶分析等面向客戶的業(yè)務(wù)領(lǐng)域提供了一個業(yè)務(wù)自動化平臺?該平臺集成了企業(yè)內(nèi)部和外部應(yīng)用,支持企業(yè)管理人員?營銷人員 ?客戶等的溝通和協(xié)作,其用戶管理具有用戶類別多?角色交叉重疊?功能權(quán)限細分?數(shù)據(jù)訪問權(quán)限細分?權(quán)限動態(tài)變化?需要個性化的信息服務(wù)等特點,因此如何對用戶訪問控制進行建模和實現(xiàn)是一個比較突出的問題?
基于角色的訪問控制(Role-Based Access Control,RBAC) 引入角色這一中介,將訪問許可權(quán)限分配給角色,然后再將角色授權(quán)給用戶?通過分配角色給用戶,降低了訪問控制的復(fù)雜性?本文在RBAC模型基礎(chǔ)上,通過增加團隊來滿足CRM中的動態(tài)數(shù)據(jù)訪問控制?同時通過增加個性化數(shù)據(jù)集服務(wù),建立面向用戶的個性化服務(wù)模型,既可實現(xiàn)用戶當前的?明確的需求,也能滿足用戶長遠的?潛在的信息需求?
2 RBAC模型
RBAC的核心思想是把訪問權(quán)限賦給角色而不是用戶,用戶通過它所屬的角色來獲得訪問權(quán)限[1]?基于角色的訪問控制(Role-Based Access Control,RBAC)模型,較以往的自主型訪問控制(Discretionary Access Control,DAC)模型和強制型訪問控制(Mandatory Access Control,MAC)模型相比,具有更強的靈活性和更廣泛的適用性?它主要引入了角色這一概念,角色的實質(zhì)是一個或一群用戶在組織內(nèi)可執(zhí)行的操作的集合?在RBAC內(nèi),角色為訪問控制的主體,角色決定了用戶對資源所擁有的權(quán)限以及可以執(zhí)行的操作,其中訪問控制策略在RBAC中主要體現(xiàn)為用戶/角色?角色/權(quán)限和角色/角色之間的關(guān)系,另外, RBAC中引入 “角色繼承”機制,即子角色繼承其父角色的所有屬性和權(quán)限?RBAC具有如下特點:授權(quán)管理靈活;授權(quán)管理機制更加接近實際?更加社會化;用戶?角色和權(quán)限是多對多的關(guān)系;系統(tǒng)的操作用戶與數(shù)據(jù)對象沒有直接的聯(lián)系?RBAC模型如圖 l所示?
3 基于J2EE的CRM的設(shè)計
3. 1系統(tǒng)的3層體系結(jié)構(gòu)
J2EE架構(gòu)本身不支持RBAC?系統(tǒng)是在Web應(yīng)用與EJB容器之間,通過擴展數(shù)據(jù)業(yè)務(wù)邏輯層來實現(xiàn)RBAC系統(tǒng)的?CRM系統(tǒng)遵循J2EE規(guī)范,采用了先進的3層體系結(jié)構(gòu),分別為數(shù)據(jù)表示層?數(shù)據(jù)業(yè)務(wù)邏輯層和數(shù)據(jù)存儲層,分別運行于Web服務(wù)器?應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器,系統(tǒng)中的業(yè)務(wù)邏輯層是整個系統(tǒng)的核心,部分業(yè)務(wù)邏輯位于Web服務(wù)器端,另一部分位于應(yīng)用服務(wù)器端?該架構(gòu)一個顯著的特點:CRM系統(tǒng)中基于RBAC的授權(quán)訪問?角色管理和客體的操作授權(quán)主要由角色管理 Servlets組件來實現(xiàn)?系統(tǒng)中數(shù)據(jù)存儲層的部分授權(quán)訪問是由角色管理 Servlet和 EJB組件協(xié)同完成的?本文主要介紹與RBAC系統(tǒng)相關(guān)的實現(xiàn)?系統(tǒng)基于J2EE架構(gòu)的受限訪問模型原理如圖2所示?
3. 2CRM 中基于RBAC的實施
對CRM用戶訪問控制進行建模,首先需要分析CRM系統(tǒng)的用戶管理和服務(wù)特點[2]?
(1)用戶類別多?權(quán)限變化快?CRM系統(tǒng)不僅涉及企業(yè)銷售部?市場部?財務(wù)部?人事部 ?售后服務(wù)部等多個部門的幾十個職能角色 ,而且涉及企業(yè)不同等級的交易客戶?潛在客戶等角色?企業(yè)由于業(yè)務(wù)變化,有經(jīng)常性變動員工權(quán)限的需要?
(2)用戶職能交叉重疊?CRM系統(tǒng)涉及的角色之間存在復(fù)雜的業(yè)務(wù)關(guān)系?不同部門或職能的用戶會進行同樣的操作,例如銷售部經(jīng)理和員工都可以進行餐費申請操作?
(3)數(shù)據(jù)隔離?在CRM系統(tǒng)中銷售人員對資源(如客戶資源)的訪問是受限制的,他們只能查看到自己負責的客戶信息,不能訪問其他員工負責的客戶信息,因而需要很好的數(shù)據(jù)隔離措施?
(4)需要個性化應(yīng)用?每個用戶隨著業(yè)務(wù)范圍的擴展和工作的進展,需要個性化的信息服務(wù)?
在基于 Web的RBAC應(yīng)用中,用戶訪問過程實質(zhì)上是一個客戶程序與組件間的交互過程?具體過程簡要描述如下:用戶登錄,欲訪問后臺數(shù)據(jù)庫系統(tǒng),首先要建立同RBAC系統(tǒng)的會話連接,用以檢測用戶的合法性;RBAC系統(tǒng)指定用戶的角色,從而確定其訪問許可,其中這些角色的選擇符合角色的限制條件?角色等級限制和最小權(quán)限原則;利用訪問組件,實現(xiàn)該角色所具有的相應(yīng)的系統(tǒng)操作功能?用戶經(jīng)選擇某項功能,訪問控制組件將創(chuàng)建用戶同RBAC系統(tǒng)的會話,用戶取得授權(quán),然后通過數(shù)據(jù)庫訪問組件對數(shù)據(jù)庫進行訪問,并進一步返回結(jié)果?
CRM 中的整個RBAC系統(tǒng)的實現(xiàn)主要依賴于Servlet?EJB組件?其中訪問控制組件是RBAC系統(tǒng)的核心,訪問控制組件由3個主要模塊組成:授權(quán)管理模塊?訪問主體關(guān)系管理模塊和權(quán)限分配模塊[3]?授權(quán)管理模塊提供對授權(quán)的基本維護管理,如增加?刪除?修改等,同時實現(xiàn)對授權(quán)之間的互斥?包容關(guān)系的定義;訪問主體關(guān)系管理模塊負責處理訪問控制系統(tǒng)中各用戶?各種角色與不同職能部門機構(gòu)之間的授權(quán)關(guān)系管理;權(quán)限管理模塊負責對用戶?角色的添加?刪除?權(quán)限分配等操作,同時實現(xiàn)特殊授權(quán)的指派處理?
4 結(jié)束語
基于角色的訪問控制(RBAC)是信息與網(wǎng)絡(luò)安全領(lǐng)域的一種較新的訪問控制技術(shù)?本文在J2EE平臺上結(jié)合組件技術(shù),提出了一種基于Web角色的RBAC應(yīng)用模型,圍繞企業(yè)客戶關(guān)系管理的實際需求,對RBAC在系統(tǒng)中的設(shè)計實現(xiàn)進行了分析,并對實現(xiàn)CRM系統(tǒng)中基于J2EE的訪問控制做了探討?
主要參考文獻
[1] 李仲,楊宗凱,劉威. 一種基于 RBAC的實現(xiàn)動態(tài)權(quán)限管理的方法[J]. 計算機技術(shù)與發(fā)展,2006,16(10):1-4.
[2] 夏志雄,張曙光. RBAC在基于Web管理信息系統(tǒng)中的應(yīng)用[J]. 計算機應(yīng)用研究,2004(7):198-199.
[3] 沈顯君,莊超,楊進才,等. 基于RBAC的移動代理安全策略[J]. 計算機工程與設(shè)計,2005,26(2):329-331.