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