本發(fā)明涉及erp等管理軟件系統(tǒng)的表單生成方法,特別是涉及一種基于角色獲取的表單數(shù)據(jù)的授權(quán)方法。
背景技術(shù):
基于角色的訪問控制(rbac)是近年來研究最多、思想最成熟的一種數(shù)據(jù)庫權(quán)限管理機(jī)制,它被認(rèn)為是替代傳統(tǒng)的強(qiáng)制訪問控制(mac)和自主訪問控制(dac)的理想候選。基于角色的訪問控制(rbac)的基本思想是根據(jù)企業(yè)組織視圖中不同的職能崗位劃分不同的角色,將數(shù)據(jù)庫資源的訪問權(quán)限封裝在角色中,用戶通過被賦予不同的角色來間接訪問數(shù)據(jù)庫資源。
在大型應(yīng)用系統(tǒng)中往往都建有大量的表和視圖,這使得對數(shù)據(jù)庫資源的管理和授權(quán)變得十分復(fù)雜。由用戶直接管理數(shù)據(jù)庫資源的存取和權(quán)限的收授是十分困難的,它需要用戶對數(shù)據(jù)庫結(jié)構(gòu)的了解非常透徹,并且熟悉sql語言的使用,而且一旦應(yīng)用系統(tǒng)結(jié)構(gòu)或安全需求有所變動(dòng),都要進(jìn)行大量復(fù)雜而繁瑣的授權(quán)變動(dòng),非常容易出現(xiàn)一些意想不到的授權(quán)失誤而引起的安全漏洞。因此,為大型應(yīng)用系統(tǒng)設(shè)計(jì)一種簡單、高效的權(quán)限管理方法已成為系統(tǒng)和系統(tǒng)用戶的普遍需求。
基于角色的權(quán)限控制機(jī)制能夠?qū)ο到y(tǒng)的訪問權(quán)限進(jìn)行簡單、高效的管理,極大地降低了系統(tǒng)權(quán)限管理的負(fù)擔(dān)和代價(jià),而且使得系統(tǒng)權(quán)限管理更加符合應(yīng)用系統(tǒng)的業(yè)務(wù)管理規(guī)范。
然而,傳統(tǒng)基于角色的用戶權(quán)限管理方法均采用“角色對用戶一對多”的關(guān)聯(lián)機(jī)制,其“角色”為組/類性質(zhì),即一個(gè)角色可以同時(shí)對應(yīng)/關(guān)聯(lián)多個(gè)用戶,角色類似于崗位/職位/工種等概念,這種關(guān)聯(lián)機(jī)制下對用戶權(quán)限的授權(quán)基本分為以下三種形式:
1、如圖1所示,直接對用戶授權(quán),缺點(diǎn)是工作量大、操作頻繁且麻煩;
2、如圖2所示,對角色(類/組/崗位/工種性質(zhì))進(jìn)行授權(quán)(一個(gè)角色可以關(guān)聯(lián)多個(gè)用戶),用戶通過角色獲得權(quán)限;
3、如圖3所示,以上兩種方式結(jié)合。
以上的表述中,2、3均需要對類/組性質(zhì)的角色進(jìn)行授權(quán),而通過類/組/崗位/工種性質(zhì)的角色進(jìn)行授權(quán)的方式有以下缺點(diǎn):
1、用戶權(quán)限變化時(shí)的操作難:在實(shí)際的系統(tǒng)使用過程中,經(jīng)常因?yàn)樵谶\(yùn)營過程中需要對用戶的權(quán)限進(jìn)行調(diào)整,比如:在處理員工權(quán)限變化的時(shí)候,角色關(guān)聯(lián)的某個(gè)員工的權(quán)限發(fā)生變化,我們不能因該個(gè)別員工權(quán)限的變化而改變整個(gè)角色的權(quán)限,因?yàn)樵摻巧€關(guān)聯(lián)了其他權(quán)限未變的員工。因此為了應(yīng)對該種情況,要么創(chuàng)建新角色來滿足該權(quán)限發(fā)生變化的員工,要么對該員工根據(jù)權(quán)限需求直接授權(quán)(脫離角色)。以上兩種處理方式,在角色權(quán)限較多的情況下對角色授權(quán)不僅所需時(shí)間長,而且容易犯錯(cuò),使用方操作起來繁瑣又麻煩,也容易出錯(cuò)導(dǎo)致對系統(tǒng)使用方的損失。
2、要長期記住角色包含的具體權(quán)限難:若角色的權(quán)限功能點(diǎn)比較多,時(shí)間一長,很難記住角色的具體權(quán)限,更難記住權(quán)限相近的角色之間的權(quán)限差別,若要關(guān)聯(lián)新的用戶,無法準(zhǔn)確判斷應(yīng)當(dāng)如何選擇關(guān)聯(lián)。
3、因?yàn)橛脩魴?quán)限變化,則會(huì)造成角色創(chuàng)建越來越多(若不創(chuàng)建新角色,則會(huì)大幅增加直接對用戶的授權(quán)),更難分清各角色權(quán)限的具體差別。
4、調(diào)崗時(shí),若要將被調(diào)崗用戶的很多個(gè)權(quán)限分配給另外幾個(gè)用戶承擔(dān),則處理時(shí)必須將被調(diào)崗用戶的這些權(quán)限區(qū)分開來,分別再創(chuàng)建角色來關(guān)聯(lián)另外幾個(gè)用戶,這樣的操作不僅復(fù)雜耗時(shí),而且還很容易發(fā)生錯(cuò)誤。
傳統(tǒng)的員工性質(zhì)字段對表單數(shù)據(jù)進(jìn)行授權(quán)控制,若員工數(shù)量較多(比如有500員工),隨時(shí)都有員工離職、入職、調(diào)崗等情況在不斷的動(dòng)態(tài)發(fā)生,從而導(dǎo)致授權(quán)操作非常繁雜,工作量巨大;且在員工離職、入職和調(diào)崗的情況下,需要對原來相關(guān)的授權(quán)進(jìn)行修改,使得授權(quán)的工作量巨大、繁雜、容易出錯(cuò)。
傳統(tǒng)的以用戶性質(zhì)字段對表單數(shù)據(jù)進(jìn)行授權(quán)控制,由于傳統(tǒng)的系統(tǒng)紅并沒有對用戶與員工的關(guān)系建立固化的一對一關(guān)系,存在多個(gè)員工可以用同一個(gè)用戶登錄系統(tǒng)的情況,在表單數(shù)據(jù)保存時(shí),其用戶性質(zhì)字段的字段值只能記錄操作用戶,但是該操作用戶對應(yīng)的員工是張三還是李四卻無法準(zhǔn)確地進(jìn)行區(qū)分記載,導(dǎo)致后續(xù)查看數(shù)據(jù)時(shí)要想清楚準(zhǔn)確的知道該操作用戶對應(yīng)的員工則很難。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于角色獲取的表單數(shù)據(jù)的授權(quán)方法,實(shí)現(xiàn)了表單數(shù)據(jù)的動(dòng)態(tài)授權(quán),在員工離職、調(diào)崗和入職時(shí)能夠自動(dòng)地進(jìn)行相關(guān)權(quán)限調(diào)整,減少了授權(quán)操作的工作量且不容易出錯(cuò)。
本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:基于角色獲取的表單數(shù)據(jù)的授權(quán)方法,包括:
選擇一個(gè)或多個(gè)被授權(quán)對象;
選擇一個(gè)表單,顯示用于表單數(shù)據(jù)查找的被授權(quán)字段,所述被授權(quán)字段為字段值包括用戶或員工的字段;
分別為每個(gè)被授權(quán)字段進(jìn)行授權(quán):顯示系統(tǒng)中的所有角色,所述角色是獨(dú)立的個(gè)體,而非組/類,同一時(shí)段一個(gè)角色只能關(guān)聯(lián)唯一的用戶,而一個(gè)用戶關(guān)聯(lián)一個(gè)或多個(gè)角色;定義需要用于表單數(shù)據(jù)查找的角色為目標(biāo)角色,一個(gè)目標(biāo)角色對應(yīng)一個(gè)角色;分別為每個(gè)目標(biāo)角色選擇一個(gè)目標(biāo)對象,所述目標(biāo)對象為當(dāng)前對象、歷史對象或所有對象,所述當(dāng)前對象為該角色當(dāng)前關(guān)聯(lián)的用戶或該用戶對應(yīng)的員工,所述歷史對象為該角色關(guān)聯(lián)過的所有用戶中除當(dāng)前關(guān)聯(lián)的用戶外的全部用戶或其對應(yīng)的員工,所述所有對象為該角色關(guān)聯(lián)過的所有用戶或其對應(yīng)的員工;
對每個(gè)被授權(quán)字段的每個(gè)目標(biāo)角色,分別獲取所述表單中該被授權(quán)字段的字段值包括該目標(biāo)角色的目標(biāo)對象的任何一個(gè)用戶或員工的表單數(shù)據(jù)的集合,對該集合進(jìn)行操作權(quán)限授權(quán)。
基于角色獲取的表單數(shù)據(jù)的授權(quán)方法,包括:
選擇一個(gè)或多個(gè)被授權(quán)對象;
選擇一個(gè)表單,顯示用于表單數(shù)據(jù)查找的被授權(quán)字段,所述被授權(quán)字段為字段值包括角色和用戶、或角色和員工的字段;
分別為每個(gè)被授權(quán)字段進(jìn)行授權(quán):顯示系統(tǒng)中的所有角色,所述角色是獨(dú)立的個(gè)體,而非組/類,同一時(shí)段一個(gè)角色只能關(guān)聯(lián)唯一的用戶,而一個(gè)用戶關(guān)聯(lián)一個(gè)或多個(gè)角色;定義需要用于表單數(shù)據(jù)查找的角色為目標(biāo)角色,一個(gè)目標(biāo)角色對應(yīng)一個(gè)角色;分別為每個(gè)目標(biāo)角色選擇一個(gè)目標(biāo)對象,所述目標(biāo)對象為當(dāng)前對象、歷史對象或所有對象,所述當(dāng)前對象為該角色當(dāng)前關(guān)聯(lián)的用戶或該用戶對應(yīng)的員工,所述歷史對象為該角色關(guān)聯(lián)過的所有用戶中除當(dāng)前關(guān)聯(lián)的用戶外的全部用戶或其對應(yīng)的員工,所述所有對象為該角色關(guān)聯(lián)過的所有用戶或其對應(yīng)的員工;定義一個(gè)目標(biāo)角色及該目標(biāo)角色的目標(biāo)對象中的一個(gè)用戶或員工構(gòu)成該目標(biāo)角色的一個(gè)限定值;
對每個(gè)被授權(quán)字段的每個(gè)目標(biāo)角色,分別獲取所述表單中該被授權(quán)字段的字段值包括該目標(biāo)角色的任何一個(gè)限定值的表單數(shù)據(jù)的集合,對該集合進(jìn)行操作權(quán)限授權(quán)。
優(yōu)選的,所述操作權(quán)限包括對表單數(shù)據(jù)進(jìn)行查看、修改、新增、刪除和打印中的一種或多種操作。
優(yōu)選的,所述用戶能且只能通過其與角色的關(guān)聯(lián)確定權(quán)限,一個(gè)員工對應(yīng)一個(gè)用戶,一個(gè)用戶對應(yīng)一個(gè)員工。
優(yōu)選的,所述角色創(chuàng)建時(shí)必須選擇一個(gè)部門,角色一旦創(chuàng)建后則該角色歸屬于該部門,根據(jù)角色的工作內(nèi)容對角色進(jìn)行授權(quán),且該角色的名稱在該部門下唯一,該角色的編號(hào)在系統(tǒng)中唯一。
優(yōu)選的,所述用戶跨部門調(diào)崗時(shí),取消用戶與原部門內(nèi)的角色的關(guān)聯(lián),將用戶與新部門內(nèi)的角色進(jìn)行關(guān)聯(lián)。
優(yōu)選的,顯示系統(tǒng)中的所有角色時(shí)顯示空值選項(xiàng),若選擇空值選項(xiàng)則對所述表單中被授權(quán)字段的字段值為空值的表單數(shù)據(jù)進(jìn)行操作權(quán)限授權(quán)。
優(yōu)選的,顯示系統(tǒng)中的所有角色時(shí)顯示不受限選項(xiàng),若選擇不受限選項(xiàng)則對所述表單中被授權(quán)字段的字段值為任何值的表單數(shù)據(jù)進(jìn)行操作權(quán)限授權(quán)。
優(yōu)選的,所述被授權(quán)對象包括人、用戶、組、類、角色中的一種或多種,所述角色是獨(dú)立的個(gè)體,而非組/類,同一時(shí)段一個(gè)角色只能關(guān)聯(lián)唯一的用戶,而一個(gè)用戶關(guān)聯(lián)一個(gè)或多個(gè)角色。
基于角色獲取的表單數(shù)據(jù)的授權(quán)方法,包括:
選擇一個(gè)或多個(gè)被授權(quán)對象;
選擇一個(gè)表單,顯示用于表單數(shù)據(jù)查找的被授權(quán)字段,所述被授權(quán)字段為字段值包括角色的字段,所述角色是獨(dú)立的個(gè)體,而非組/類,同一時(shí)段一個(gè)角色只能關(guān)聯(lián)唯一的用戶,而一個(gè)用戶關(guān)聯(lián)一個(gè)或多個(gè)角色;
分別為每個(gè)被授權(quán)字段進(jìn)行授權(quán):顯示系統(tǒng)中的所有角色,所述角色是獨(dú)立的個(gè)體,而非組/類,同一時(shí)段一個(gè)角色只能關(guān)聯(lián)唯一的用戶,而一個(gè)用戶關(guān)聯(lián)一個(gè)或多個(gè)角色;定義需要用于表單數(shù)據(jù)查找的角色為目標(biāo)角色,一個(gè)目標(biāo)角色對應(yīng)一個(gè)角色;對每個(gè)被授權(quán)字段的每個(gè)目標(biāo)角色,分別獲取所述表單中該被授權(quán)字段的字段值包括該目標(biāo)角色的表單數(shù)據(jù)的集合,對該集合進(jìn)行操作權(quán)限授權(quán)。
本發(fā)明的有益效果是:
(1)本發(fā)明實(shí)現(xiàn)了表單數(shù)據(jù)的動(dòng)態(tài)授權(quán),在員工離職、調(diào)崗和入職等情況下能夠自動(dòng)地進(jìn)行相關(guān)權(quán)限調(diào)整,減少了授權(quán)操作的工作量且不容易出錯(cuò);
例如,授權(quán)銷售一部的主管1查看該部門下當(dāng)前在某個(gè)崗位號(hào)上的員工的個(gè)人報(bào)銷單,若該崗位號(hào)現(xiàn)在關(guān)聯(lián)的員工張三被李四替換后,則自動(dòng)只能查看該崗位號(hào)最新關(guān)聯(lián)的員工李四的個(gè)人報(bào)銷單,自動(dòng)不能進(jìn)行查看該崗位號(hào)原來關(guān)聯(lián)的員工張三的個(gè)人報(bào)銷單;又例如,對公司的內(nèi)務(wù)監(jiān)管員1只授權(quán)查看某個(gè)崗位號(hào)的歷史關(guān)聯(lián)人的個(gè)人報(bào)銷單,用于該崗位號(hào)曾經(jīng)關(guān)聯(lián)過的所有員工(不包括當(dāng)前關(guān)聯(lián)的員工)的相關(guān)分析,若該崗位號(hào)現(xiàn)在的關(guān)聯(lián)員工張三不再從事該崗位號(hào)的工作,則內(nèi)務(wù)監(jiān)管員1能夠自動(dòng)查看張三的個(gè)人報(bào)銷單并進(jìn)行相關(guān)分析;又例如,公司的總經(jīng)理1要授權(quán)查看某個(gè)崗位號(hào)的所有關(guān)聯(lián)員工的個(gè)人報(bào)銷單,若該崗位號(hào)現(xiàn)在關(guān)聯(lián)的員工張三被李四替換后,則總經(jīng)理1自動(dòng)能夠查看李四的個(gè)人報(bào)銷單。
傳統(tǒng)的授權(quán)方法復(fù)雜,無法實(shí)現(xiàn)將當(dāng)前崗位號(hào)的在崗人、該崗位號(hào)曾經(jīng)工作過的人或該崗位號(hào)上所有工作過的人對應(yīng)的數(shù)據(jù)以一種集合的范式進(jìn)行授權(quán),更無法實(shí)現(xiàn)自動(dòng)的動(dòng)態(tài)化;而本發(fā)明通過當(dāng)前對象、歷史對象和所有對象的方式可以簡單快捷地實(shí)現(xiàn)以集合方式進(jìn)行授權(quán),且能夠?qū)崿F(xiàn)自動(dòng)的動(dòng)態(tài)對應(yīng)功能。
(2)本發(fā)明中的角色是獨(dú)立的個(gè)體,而非組/類,同一時(shí)段一個(gè)角色只能關(guān)聯(lián)唯一的用戶,而一個(gè)用戶關(guān)聯(lián)一個(gè)或多個(gè)角色,一個(gè)用戶關(guān)聯(lián)一個(gè)員工,一個(gè)員工關(guān)聯(lián)一個(gè)用戶;在企事業(yè)單位的運(yùn)營過程中,角色變化很小,甚至在一個(gè)較長的時(shí)間段內(nèi)角色不會(huì)發(fā)生變化;在有員工離職、調(diào)崗和入職時(shí),只需要進(jìn)行相關(guān)角色的取消關(guān)聯(lián)或進(jìn)行新角色關(guān)聯(lián)即可完成授權(quán),授權(quán)操作簡單、方便、高效,極大地提高了授權(quán)效率。
(3)本發(fā)明通過角色和角色關(guān)聯(lián)的用戶、角色和角色關(guān)聯(lián)的用戶對應(yīng)的員工來獲取需要授權(quán)的表單數(shù)據(jù),可以在對表單數(shù)據(jù)進(jìn)行授權(quán)時(shí)有效區(qū)分一個(gè)員工的不同職責(zé)的權(quán)限;
例如,張三當(dāng)前關(guān)聯(lián)了飛機(jī)事業(yè)部下的角色1和家電事業(yè)部下的角色2,現(xiàn)需對家電事業(yè)部的經(jīng)理1對張三的家電合同表單的查看權(quán)限進(jìn)行授權(quán),選擇合同簽訂人字段作為被授權(quán)字段,若按照傳統(tǒng)的基于員工的授權(quán)方法為該經(jīng)理1進(jìn)行授權(quán),將合同簽訂人的字段值授權(quán)為張三,則該家電事業(yè)部的經(jīng)理1可查看合同簽訂人為張三的所有家電合同和飛機(jī)合同,使得該家電事業(yè)部的經(jīng)理1可查看合同簽訂人為張三的飛機(jī)合同,從而造成飛機(jī)合同的信息泄露;而采用本發(fā)明的方法為該家電事業(yè)部的經(jīng)理1授權(quán),將合同簽訂人的字段值授權(quán)為張三(角色2),則該家電事業(yè)部的經(jīng)理1只能查看合同簽訂人為張三(角色2)的家電合同,無法查看合同簽訂人為張三(角色1)的飛機(jī)合同,實(shí)現(xiàn)了精細(xì)化管理,保證了公司的信息安全。
(4)傳統(tǒng)的權(quán)限管理機(jī)制將角色定義為組、工種、類等性質(zhì),角色對用戶是一對多的關(guān)系,在實(shí)際的系統(tǒng)使用過程中,經(jīng)常因?yàn)樵谶\(yùn)營過程中需要對用戶的權(quán)限進(jìn)行調(diào)整,比如:在處理員工權(quán)限變化的時(shí)候,角色關(guān)聯(lián)的某個(gè)員工的權(quán)限發(fā)生變化,我們不能因該個(gè)別員工權(quán)限的變化而改變整個(gè)角色的權(quán)限,因?yàn)樵摻巧€關(guān)聯(lián)了其他權(quán)限未變的員工。因此為了應(yīng)對該種情況,要么創(chuàng)建新角色來滿足該權(quán)限發(fā)生變化的員工,要么對該員工根據(jù)權(quán)限需求直接授權(quán)(脫離角色)。以上兩種處理方式,在角色權(quán)限較多的情況下對角色授權(quán)不僅所需時(shí)間長,而且容易犯錯(cuò),使用方操作起來繁瑣又麻煩,也容易出錯(cuò)導(dǎo)致對系統(tǒng)使用方的損失。
但在本申請的方法下,因?yàn)榻巧且粋€(gè)獨(dú)立的個(gè)體,則可以選擇改變角色權(quán)限即可達(dá)到目的。本申請的方法,雖然看起來在系統(tǒng)初始化時(shí)會(huì)增加工作量,但可以通過復(fù)制等方法,使其創(chuàng)建角色或授權(quán)的效率高于傳統(tǒng)以組為性質(zhì)的角色,因?yàn)椴挥每紤]性質(zhì)為組的角色在滿足關(guān)聯(lián)用戶時(shí)的共通性,本申請方案會(huì)讓權(quán)限設(shè)置清晰,明了;尤其是在系統(tǒng)使用一段時(shí)間后(用戶/角色權(quán)限動(dòng)態(tài)變化),該申請方案能為系統(tǒng)使用方大幅度提高系統(tǒng)使用中的權(quán)限管理效率,使動(dòng)態(tài)授權(quán)更簡單,更方便,更清晰、明了,提高權(quán)限設(shè)置的效率和可靠性。
(5)傳統(tǒng)以組為性質(zhì)的角色授權(quán)方法容易出錯(cuò),本申請方法大幅降低了授權(quán)出錯(cuò)的幾率,因?yàn)楸旧暾埛椒ㄖ恍杩紤]作為獨(dú)立個(gè)體的角色,而不用考慮傳統(tǒng)方法下關(guān)聯(lián)該組性質(zhì)角色的多個(gè)用戶有哪些共通性。即使授權(quán)出錯(cuò)也只影響關(guān)聯(lián)到該角色的那一個(gè)用戶,而傳統(tǒng)以組性質(zhì)的角色則會(huì)影響關(guān)聯(lián)到該角色的所有用戶。即使出現(xiàn)權(quán)限授權(quán)錯(cuò)誤,本申請的修正方法簡單、時(shí)間短,而傳統(tǒng)以組性質(zhì)的角色在修正錯(cuò)誤時(shí)需要考慮關(guān)聯(lián)到該角色的所有用戶的權(quán)限共通性,在功能點(diǎn)多的情況下不僅修改麻煩、復(fù)雜,非常容易出錯(cuò),且很多情況下只能新創(chuàng)建角色才能解決。
(6)在傳統(tǒng)以組為性質(zhì)的角色授權(quán)方法下,若角色的權(quán)限功能點(diǎn)比較多,時(shí)間一長,很難記住角色的具體權(quán)限,更難記住權(quán)限相近的角色之間的權(quán)限差別,若要關(guān)聯(lián)新的用戶,無法準(zhǔn)確判斷應(yīng)當(dāng)如何選擇關(guān)聯(lián)。本申請方法的角色本身就具有崗位號(hào)/工位號(hào)的性質(zhì),選擇一目了然。
(7)調(diào)崗時(shí),若要將被調(diào)崗用戶的很多個(gè)權(quán)限分配給另外幾個(gè)用戶承擔(dān),則處理時(shí)必須將被調(diào)崗用戶的這些權(quán)限區(qū)分開來,分別再創(chuàng)建角色來關(guān)聯(lián)另外幾個(gè)用戶,這樣的操作不僅復(fù)雜耗時(shí),而且還很容易發(fā)生錯(cuò)誤。
本申請方法則為:被調(diào)崗用戶關(guān)聯(lián)了幾個(gè)角色,在調(diào)崗時(shí),首先取消用戶與原部門內(nèi)的角色的關(guān)聯(lián)(被取消的這幾個(gè)角色可以被重新關(guān)聯(lián)給其他用戶),然后將用戶與新部門內(nèi)的角色進(jìn)行關(guān)聯(lián)即可。操作簡單,不會(huì)出錯(cuò)。
(8)創(chuàng)建角色時(shí),需要選定一個(gè)部門,一旦該角色創(chuàng)建完成,則部門不能被更換,角色為什么不能更換部門:
理由1:因?yàn)楸旧暾埖慕巧再|(zhì)等同于一個(gè)工位號(hào)/崗位號(hào),不同的工位號(hào)/崗位號(hào)的工作內(nèi)容/權(quán)限是不一樣的,如銷售部門下的銷售員1角色和技術(shù)部門的開發(fā)人員1角色是完全不同的兩個(gè)工位號(hào)/崗位號(hào),其權(quán)限是不同的;
理由2:若將銷售員1角色的所屬部門(銷售部)更換為技術(shù)部,其銷售人員1這個(gè)角色的權(quán)限不變,則在技術(shù)部存在擁有銷售部權(quán)限的一個(gè)角色,這樣會(huì)導(dǎo)致管理混亂及安全漏洞。
附圖說明
圖1為背景技術(shù)中系統(tǒng)直接對用戶進(jìn)行授權(quán)的方式示意圖;
圖2為背景技術(shù)中系統(tǒng)對組/類性質(zhì)角色進(jìn)行授權(quán)的方式示意圖;
圖3為背景技術(shù)中系統(tǒng)對用戶直接授權(quán)和對組/類性質(zhì)角色授權(quán)相結(jié)合的方式示意圖;
圖4為本發(fā)明的一種實(shí)施方式的流程圖;
圖5為本發(fā)明系統(tǒng)通過獨(dú)立個(gè)體性質(zhì)角色對用戶進(jìn)行授權(quán)的方式示意圖;
圖6為本發(fā)明中一個(gè)表單示意圖;
圖7為本發(fā)明的又一種實(shí)施方式的流程圖;
圖8為勾選表頭時(shí)的表單示意圖;
圖9為本發(fā)明的又種實(shí)施方式的流程圖;
圖10為選擇角色進(jìn)行授權(quán)時(shí)的一個(gè)表單示意圖。
具體實(shí)施方式
下面結(jié)合附圖進(jìn)一步詳細(xì)描述本發(fā)明的技術(shù)方案,但本發(fā)明的保護(hù)范圍不局限于以下所述。
【實(shí)施例一】如圖4所示,基于角色獲取的表單數(shù)據(jù)的授權(quán)方法包括:
選擇一個(gè)或多個(gè)被授權(quán)對象。所述被授權(quán)對象包括人、用戶、組、類、角色中的一種或多種。
如圖5所示,所述角色是獨(dú)立的個(gè)體,而非組/類,同一時(shí)段一個(gè)角色只能關(guān)聯(lián)唯一的用戶,而一個(gè)用戶關(guān)聯(lián)一個(gè)或多個(gè)角色。
所述角色創(chuàng)建時(shí)必須選擇一個(gè)部門,角色一旦創(chuàng)建后則該角色歸屬于該部門,根據(jù)角色的工作內(nèi)容對角色進(jìn)行授權(quán),且該角色的名稱在該部門下唯一,該角色的編號(hào)在系統(tǒng)中唯一。所述用戶能且只能通過其與角色的關(guān)聯(lián)確定權(quán)限,一個(gè)員工對應(yīng)一個(gè)用戶,一個(gè)用戶對應(yīng)一個(gè)員工。
角色的定義:角色不具有組/類/類別/崗位/職位/工種等性質(zhì),而是一個(gè)非集合的性質(zhì),角色具有唯一性,角色是獨(dú)立存在的獨(dú)立個(gè)體;在企事業(yè)單位應(yīng)用中相當(dāng)于崗位號(hào)(此處的崗位號(hào)非崗位,一個(gè)崗位同時(shí)可能有多個(gè)員工,而同一時(shí)段一個(gè)崗位號(hào)只能對應(yīng)一個(gè)員工)。
舉例:某個(gè)公司系統(tǒng)中可創(chuàng)建如下角色:總經(jīng)理、副總經(jīng)理1、副總經(jīng)理2、北京銷售一部經(jīng)理、北京銷售二部經(jīng)理、北京銷售三部經(jīng)理、上海銷售工程師1、上海銷售工程師2、上海銷售工程師3、上海銷售工程師4、上海銷售工程師5……
用戶與角色的關(guān)聯(lián)關(guān)系:若該公司員工張三任職該公司副總經(jīng)理2,同時(shí)任職北京銷售一部經(jīng)理,則張三需要關(guān)聯(lián)的角色為副總經(jīng)理2和北京銷售一部經(jīng)理,張三擁有了這兩個(gè)角色的權(quán)限。
傳統(tǒng)角色的概念是組/類/崗位/職位/工種性質(zhì),一個(gè)角色能夠?qū)?yīng)多個(gè)用戶。而本申請“角色”的概念相當(dāng)于崗位號(hào)/工位號(hào),也類同于影視劇中的角色:一個(gè)角色在同一時(shí)段(童年、少年、中年……)只能由一個(gè)演員來飾演,而一個(gè)演員可能會(huì)分飾多角。
所述用戶跨部門調(diào)崗時(shí),取消用戶與原部門內(nèi)的角色的關(guān)聯(lián),將用戶與新部門內(nèi)的角色進(jìn)行關(guān)聯(lián)。在創(chuàng)建角色之后,可以在創(chuàng)建用戶的過程中關(guān)聯(lián)角色,也可以在用戶創(chuàng)建完成后隨時(shí)進(jìn)行關(guān)聯(lián)。用戶關(guān)聯(lián)角色后可以隨時(shí)解除與角色的關(guān)聯(lián)關(guān)系,也可以隨時(shí)建立與其他角色的關(guān)聯(lián)關(guān)系。
選擇一個(gè)表單,顯示用于表單數(shù)據(jù)查找的被授權(quán)字段,所述被授權(quán)字段為字段值包括用戶或員工的字段,如圖6,被授權(quán)字段為創(chuàng)建人。
分別為每個(gè)被授權(quán)字段進(jìn)行授權(quán):顯示系統(tǒng)中的所有角色,所述角色是獨(dú)立的個(gè)體,而非組/類,同一時(shí)段一個(gè)角色只能關(guān)聯(lián)唯一的用戶,而一個(gè)用戶關(guān)聯(lián)一個(gè)或多個(gè)角色;定義需要用于表單數(shù)據(jù)查找的角色為目標(biāo)角色,一個(gè)目標(biāo)角色對應(yīng)一個(gè)角色(例如,有5個(gè)需要用于表單數(shù)據(jù)查找的角色,則對應(yīng)有5個(gè)目標(biāo)角色);分別為每個(gè)目標(biāo)角色選擇一個(gè)目標(biāo)對象,所述目標(biāo)對象為當(dāng)前對象、歷史對象或所有對象,所述當(dāng)前對象為該角色當(dāng)前關(guān)聯(lián)的用戶或該用戶對應(yīng)的員工,所述歷史對象為該角色關(guān)聯(lián)過的所有用戶中除當(dāng)前關(guān)聯(lián)的用戶外的全部用戶或其對應(yīng)的員工,所述所有對象為該角色關(guān)聯(lián)過的所有用戶或其對應(yīng)的員工。
如圖6所示,為銷售員1選擇當(dāng)前對象作為目標(biāo)對象,為銷售員2選擇歷史對象作為目標(biāo)對象,為銷售員3選擇所有對象作為目標(biāo)對象。若銷售員1當(dāng)前關(guān)聯(lián)用戶a,銷售員1以前關(guān)聯(lián)過用戶b,則銷售員1的目標(biāo)對象為用戶a;銷售員2當(dāng)前關(guān)聯(lián)用戶c,銷售員2以前關(guān)聯(lián)過用戶d和用戶e,則銷售員2的目標(biāo)對象為用戶d和用戶e;銷售員3當(dāng)前關(guān)聯(lián)用戶f,銷售員3以前關(guān)聯(lián)過用戶g,則銷售員3的目標(biāo)對象為用戶f和用戶g。
對每個(gè)被授權(quán)字段的每個(gè)目標(biāo)角色,分別獲取所述表單中該被授權(quán)字段的字段值包括該目標(biāo)角色的目標(biāo)對象的任何一個(gè)用戶或員工的表單數(shù)據(jù)的集合,對該集合進(jìn)行操作權(quán)限授權(quán)。按照上例的目標(biāo)對象設(shè)置,則對合同表單中創(chuàng)建人的字段值包括用戶a的表單數(shù)據(jù)進(jìn)行操作權(quán)限授權(quán),對合同表單中創(chuàng)建人的字段值包括用戶d或用戶e的表單數(shù)據(jù)進(jìn)行操作權(quán)限授權(quán),對合同表單中創(chuàng)建人的字段值包括用戶f或用戶g的表單數(shù)據(jù)進(jìn)行操作權(quán)限授權(quán)。
所述操作權(quán)限包括對表單數(shù)據(jù)進(jìn)行查看、修改、新增、刪除和打印中的一種或多種操作。
【實(shí)施例二】如圖7所示,基于角色獲取的表單數(shù)據(jù)的授權(quán)方法,包括:
選擇一個(gè)或多個(gè)被授權(quán)對象。所述被授權(quán)對象包括人、用戶、組、類、角色中的一種或多種,所述角色是獨(dú)立的個(gè)體,而非組/類,同一時(shí)段一個(gè)角色只能關(guān)聯(lián)唯一的用戶,而一個(gè)用戶關(guān)聯(lián)一個(gè)或多個(gè)角色。
所述角色創(chuàng)建時(shí)必須選擇一個(gè)部門,角色一旦創(chuàng)建后則該角色歸屬于該部門,根據(jù)角色的工作內(nèi)容對角色進(jìn)行授權(quán),且該角色的名稱在該部門下唯一,該角色的編號(hào)在系統(tǒng)中唯一。所述用戶能且只能通過其與角色的關(guān)聯(lián)確定權(quán)限,一個(gè)員工對應(yīng)一個(gè)用戶,一個(gè)用戶對應(yīng)一個(gè)員工。
所述用戶跨部門調(diào)崗時(shí),取消用戶與原部門內(nèi)的角色的關(guān)聯(lián),將用戶與新部門內(nèi)的角色進(jìn)行關(guān)聯(lián)。在創(chuàng)建角色之后,可以在創(chuàng)建用戶的過程中關(guān)聯(lián)角色,也可以在用戶創(chuàng)建完成后隨時(shí)進(jìn)行關(guān)聯(lián)。用戶關(guān)聯(lián)角色后可以隨時(shí)解除與角色的關(guān)聯(lián)關(guān)系,也可以隨時(shí)建立與其他角色的關(guān)聯(lián)關(guān)系。
選擇一個(gè)表單,顯示用于表單數(shù)據(jù)查找的被授權(quán)字段,所述被授權(quán)字段為字段值包括角色和用戶、或角色和員工的字段;即被授權(quán)字既可以是字段值包角色和用戶的字段,也可以是字段值包括角色和員工的字段。
分別為每個(gè)被授權(quán)字段進(jìn)行授權(quán):顯示系統(tǒng)中的所有角色,所述角色是獨(dú)立的個(gè)體,而非組/類,同一時(shí)段一個(gè)角色只能關(guān)聯(lián)唯一的用戶,而一個(gè)用戶關(guān)聯(lián)一個(gè)或多個(gè)角色;定義需要用于表單數(shù)據(jù)查找的角色為目標(biāo)角色,一個(gè)目標(biāo)角色對應(yīng)一個(gè)角色(例如,有5個(gè)需要用于表單數(shù)據(jù)查找的角色,則對應(yīng)有5個(gè)目標(biāo)角色);分別為每個(gè)目標(biāo)角色選擇一個(gè)目標(biāo)對象,所述目標(biāo)對象為當(dāng)前對象、歷史對象或所有對象,所述當(dāng)前對象為該角色當(dāng)前關(guān)聯(lián)的用戶或該用戶對應(yīng)的員工,所述歷史對象為該角色關(guān)聯(lián)過的所有用戶中除當(dāng)前關(guān)聯(lián)的用戶外的全部用戶或其對應(yīng)的員工,所述所有對象為該角色關(guān)聯(lián)過的所有用戶或其對應(yīng)的員工;定義一個(gè)目標(biāo)角色及該目標(biāo)角色的目標(biāo)對象中的一個(gè)用戶或員工構(gòu)成該目標(biāo)角色的一個(gè)限定值,若該目標(biāo)角色的目標(biāo)對象中有多個(gè)用戶或員工,則該目標(biāo)角色及其目標(biāo)對象中的用戶或員工將構(gòu)成多個(gè)限定值。
例如,目標(biāo)角色a的目標(biāo)對象中有用戶甲、用戶乙和用戶丙三個(gè)用戶,則目標(biāo)角色a和用戶甲構(gòu)成一個(gè)限定值“目標(biāo)角色a(用戶甲)”、目標(biāo)角色a和用戶乙構(gòu)成一個(gè)限定值“目標(biāo)角色a(用戶乙)”、目標(biāo)角色a和用戶丙構(gòu)成一個(gè)限定值“目標(biāo)角色a(用戶丙)”。
在為角色選擇目標(biāo)對象時(shí),若直接選擇當(dāng)前對象、歷史對象和所有對象中任意一項(xiàng)的列名(如圖8中選擇的當(dāng)前對象),則所有角色(包括后續(xù)增加的角色)的目標(biāo)對象均為所選列名對應(yīng)的對象(當(dāng)前對象、歷史對象和所有對象中的一種);例如,圖8中,選擇了當(dāng)前對象的列名,則銷售員1、銷售員2和銷售員3等的目標(biāo)對象都為各自的當(dāng)前對象。當(dāng)被授權(quán)字段的所有角色(包括后續(xù)增加的角色)全為目標(biāo)角色、且這些目標(biāo)角色的目標(biāo)對象的類型相同時(shí)(即全為當(dāng)前對象、全為歷史對象或全為所有對象),可以通過選擇相應(yīng)的列名來實(shí)現(xiàn)一步選擇,大大減少了為目標(biāo)角色選擇目標(biāo)對象的工作量,提高了授權(quán)操作的效率。
如圖6所示,為銷售員1選擇當(dāng)前對象作為目標(biāo)對象,為銷售員2選擇歷史對象作為目標(biāo)對象,為銷售員3選擇所有對象作為目標(biāo)對象。若銷售員1當(dāng)前關(guān)聯(lián)用戶a,銷售員1以前關(guān)聯(lián)過用戶b,則銷售員1的目標(biāo)對象為用戶a;銷售員2當(dāng)前關(guān)聯(lián)用戶c,銷售員2以前關(guān)聯(lián)過用戶d和用戶e,則銷售員2的目標(biāo)對象為用戶d和用戶e;銷售員3當(dāng)前關(guān)聯(lián)用戶f,銷售員3以前關(guān)聯(lián)過用戶g,則銷售員3的目標(biāo)對象為用戶f和用戶g。銷售員1和用戶a、銷售員2和用戶d、銷售員2和用戶e、銷售員3和用戶f、銷售員3和用戶g分別構(gòu)成創(chuàng)建人的一個(gè)限定值。
對每個(gè)被授權(quán)字段的每個(gè)目標(biāo)角色,分別獲取所述表單中該被授權(quán)字段的字段值包括該目標(biāo)角色的任何一個(gè)限定值的表單數(shù)據(jù)的集合,對該集合進(jìn)行操作權(quán)限授權(quán)。按照上例的目標(biāo)對象設(shè)置,銷售員1和用戶a構(gòu)成第一限定值、銷售員2和用戶d構(gòu)成第二限定值、銷售員2和用戶e構(gòu)成第三限定值、銷售員3和用戶f構(gòu)成第四限定值、銷售員3和用戶g構(gòu)成第五限定值,則對合同表單中創(chuàng)建人的字段值包括銷第一限定值的表單數(shù)據(jù)進(jìn)行操作權(quán)限授權(quán),對合同表單中創(chuàng)建人的字段值包括第二限定值或第三限定值的表單數(shù)據(jù)進(jìn)行操作權(quán)限授權(quán),對合同表單中創(chuàng)建人的字段值包括第四限定值或第五限定值的表單數(shù)據(jù)進(jìn)行操作權(quán)限授權(quán)。
所述操作權(quán)限包括對表單數(shù)據(jù)進(jìn)行查看、修改、新增、刪除和打印中的一種或多種操作。
在另一種實(shí)施方式中,顯示系統(tǒng)中的所有角色時(shí)顯示空值選項(xiàng)和不受限選項(xiàng),若選擇空值選項(xiàng)則對所述表單中被授權(quán)字段的字段值為空值的表單數(shù)據(jù)進(jìn)行操作權(quán)限授權(quán),若選擇不受限選項(xiàng)則對所述表單中被授權(quán)字段的字段值為任何值(包括空值)的表單數(shù)據(jù)進(jìn)行操作權(quán)限授權(quán)。本發(fā)明設(shè)有不受限選項(xiàng),若選擇不受限選項(xiàng)則對所述表單中被授權(quán)字段的字段值為任何值的表單數(shù)據(jù)進(jìn)行操作權(quán)限授權(quán),提高了對被授權(quán)字段的表單數(shù)據(jù)全部具有操作權(quán)限的被授權(quán)對象的授權(quán)效率。
當(dāng)被授權(quán)對象為一個(gè)時(shí),選擇一個(gè)表單后,顯示所述表單中該被授權(quán)對象的當(dāng)前表單操作權(quán)限。
【實(shí)施例三】如圖9所示,基于角色獲取的表單數(shù)據(jù)的授權(quán)方法,包括:
選擇一個(gè)或多個(gè)被授權(quán)對象。所述被授權(quán)對象包括人、用戶、組、類、角色中的一種或多種,所述角色是獨(dú)立的個(gè)體,而非組/類,同一時(shí)段一個(gè)角色只能關(guān)聯(lián)唯一的用戶,而一個(gè)用戶關(guān)聯(lián)一個(gè)或多個(gè)角色。
所述角色創(chuàng)建時(shí)必須選擇一個(gè)部門,角色一旦創(chuàng)建后則該角色歸屬于該部門,根據(jù)角色的工作內(nèi)容對角色進(jìn)行授權(quán),且該角色的名稱在該部門下唯一,該角色的編號(hào)在系統(tǒng)中唯一。所述用戶能且只能通過其與角色的關(guān)聯(lián)確定權(quán)限,一個(gè)員工對應(yīng)一個(gè)用戶,一個(gè)用戶對應(yīng)一個(gè)員工。
所述用戶跨部門調(diào)崗時(shí),取消用戶與原部門內(nèi)的角色的關(guān)聯(lián),將用戶與新部門內(nèi)的角色進(jìn)行關(guān)聯(lián)。在創(chuàng)建角色之后,可以在創(chuàng)建用戶的過程中關(guān)聯(lián)角色,也可以在用戶創(chuàng)建完成后隨時(shí)進(jìn)行關(guān)聯(lián)。用戶關(guān)聯(lián)角色后可以隨時(shí)解除與角色的關(guān)聯(lián)關(guān)系,也可以隨時(shí)建立與其他角色的關(guān)聯(lián)關(guān)系。
選擇一個(gè)表單,顯示用于表單數(shù)據(jù)查找的被授權(quán)字段,所述被授權(quán)字段為字段值包括角色的字段,所述角色是獨(dú)立的個(gè)體,而非組/類,同一時(shí)段一個(gè)角色只能關(guān)聯(lián)唯一的用戶,而一個(gè)用戶關(guān)聯(lián)一個(gè)或多個(gè)角色。
分別為每個(gè)被授權(quán)字段進(jìn)行授權(quán):顯示系統(tǒng)中的所有角色,所述角色是獨(dú)立的個(gè)體,而非組/類,同一時(shí)段一個(gè)角色只能關(guān)聯(lián)唯一的用戶,而一個(gè)用戶關(guān)聯(lián)一個(gè)或多個(gè)角色;定義需要用于表單數(shù)據(jù)查找的角色為目標(biāo)角色,一個(gè)目標(biāo)角色對應(yīng)一個(gè)角色;對每個(gè)被授權(quán)字段的每個(gè)目標(biāo)角色,分別獲取所述表單中該被授權(quán)字段的字段值包括該目標(biāo)角色的表單數(shù)據(jù)的集合,對該集合進(jìn)行操作權(quán)限授權(quán)。如圖10所示,被授權(quán)字段“創(chuàng)建人”下有目標(biāo)角色“銷售員1、銷售員2、銷售員3”;獲取創(chuàng)建人為銷售員1的表單數(shù)據(jù)的集合,并對該集合進(jìn)行查看權(quán)限授權(quán);獲取創(chuàng)建人為銷售員2的表單數(shù)據(jù)的集合,并對該集合進(jìn)行查看權(quán)限授權(quán);獲取創(chuàng)建人為銷售員3的表單數(shù)據(jù)的集合,并對該集合進(jìn)行修改權(quán)限授權(quán)。
所述操作權(quán)限包括對表單數(shù)據(jù)進(jìn)行查看、修改、新增、刪除和打印中的一種或多種操作。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對其他實(shí)施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識(shí)進(jìn)行改動(dòng)。而本領(lǐng)域人員所進(jìn)行的改動(dòng)和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護(hù)范圍內(nèi)。