統(tǒng)中預(yù)先保存的角色表中用戶名與角色名的對(duì)應(yīng)關(guān)系可以確定該用戶的角色,以 及根據(jù)預(yù)先保存的角色權(quán)限表可以對(duì)應(yīng)的確定該角色的角色權(quán)限。
[0081] S203a,接收用戶發(fā)送的基于角色權(quán)限的訪問(wèn)請(qǐng)求。
[0082] 其中,上述基于角色權(quán)限發(fā)送的訪問(wèn)請(qǐng)求中包括用戶的角色標(biāo)識(shí)信息。
[0083] S204a,獲得基于角色權(quán)限的訪問(wèn)請(qǐng)求所對(duì)應(yīng)的數(shù)據(jù)資源。
[0084] 具體地,就業(yè)信息服務(wù)平臺(tái)的業(yè)務(wù)系統(tǒng)接收用戶發(fā)送的基于角色權(quán)限的訪問(wèn)請(qǐng) 求,并從如表2所示的角色權(quán)限表中對(duì)該基于角色權(quán)限的訪問(wèn)請(qǐng)求進(jìn)行判斷,如果從角色 權(quán)限表中獲得當(dāng)前角色不具有該操作權(quán)限,則拒絕用戶的訪問(wèn)請(qǐng)求,反之則獲得基于角色 權(quán)限的訪問(wèn)請(qǐng)求所對(duì)應(yīng)的數(shù)據(jù)資源。
[0085] 例如,當(dāng)前業(yè)務(wù)系統(tǒng)為就業(yè)信息服務(wù)平臺(tái)的業(yè)務(wù)系統(tǒng),假定就業(yè)信息服務(wù)平臺(tái)的 業(yè)務(wù)系統(tǒng)中保存作為第三方就業(yè)指導(dǎo)和培訓(xùn)機(jī)構(gòu)具有查詢未就業(yè)勞動(dòng)的信息功能,而普通 用戶不用有此功能,如果普通用戶向就業(yè)信息服務(wù)平臺(tái)的業(yè)務(wù)系統(tǒng)發(fā)送查詢未就業(yè)勞動(dòng)的 信息功能,則就業(yè)信息服務(wù)平臺(tái)的業(yè)務(wù)系統(tǒng)根據(jù)預(yù)先保存的角色和權(quán)限表可以確定普通用 戶不具有該操作權(quán)限,此時(shí),就業(yè)信息服務(wù)平臺(tái)的業(yè)務(wù)系統(tǒng)拒絕普通用戶的查詢請(qǐng)求,并在 就業(yè)信息服務(wù)平臺(tái)的業(yè)務(wù)系統(tǒng)的界面中顯示拒絕查詢的提醒信息。
[0086] S205a,根據(jù)角色標(biāo)識(shí)信息確定當(dāng)前角色的數(shù)據(jù)項(xiàng)權(quán)限。
[0087] 具體地,業(yè)務(wù)系統(tǒng)調(diào)用用戶的數(shù)據(jù)項(xiàng)權(quán)限對(duì)當(dāng)前角色的訪問(wèn)進(jìn)行控制,即在確定 用戶有訪問(wèn)該功能或者數(shù)據(jù)時(shí),根據(jù)數(shù)據(jù)項(xiàng)權(quán)限來(lái)確定用戶是否可以對(duì)數(shù)據(jù)項(xiàng)進(jìn)行訪問(wèn), 從訪問(wèn)粒度上對(duì)用戶的訪問(wèn)進(jìn)行控制。
[0088] S206a,根據(jù)數(shù)據(jù)項(xiàng)權(quán)限對(duì)數(shù)據(jù)資源進(jìn)行過(guò)濾處理,并顯示過(guò)濾處理后的數(shù)據(jù)資 源。
[0089] 具體地,在獲得數(shù)據(jù)資源后,濾波器(Filter)在將返回結(jié)果返回之前,對(duì)返回結(jié) 果進(jìn)行濾波,具體地,可根據(jù)角色標(biāo)識(shí)信息和角色數(shù)據(jù)項(xiàng)權(quán)限表確定返回的數(shù)據(jù)項(xiàng),將返回 結(jié)果展示給用戶。
[0090] 例如,基于角色權(quán)限的訪問(wèn)請(qǐng)求獲得的數(shù)據(jù)資源中包括四個(gè)數(shù)據(jù)項(xiàng),分別為數(shù)據(jù) 項(xiàng)1、數(shù)據(jù)項(xiàng)2、數(shù)據(jù)項(xiàng)3和數(shù)據(jù)項(xiàng)4,且角色數(shù)據(jù)項(xiàng)權(quán)限表中保存當(dāng)前角色對(duì)數(shù)據(jù)項(xiàng)1的權(quán) 限為是,對(duì)數(shù)據(jù)項(xiàng)2的權(quán)限為否,對(duì)數(shù)據(jù)項(xiàng)3的權(quán)限為是,對(duì)數(shù)據(jù)項(xiàng)4的權(quán)限為是,在對(duì)數(shù)據(jù) 資源進(jìn)行濾波后,數(shù)據(jù)資源中的數(shù)據(jù)項(xiàng)2和數(shù)據(jù)項(xiàng)3將被隱藏,返回結(jié)果中僅包含當(dāng)前角色 可以查看的數(shù)據(jù)項(xiàng)1和數(shù)據(jù)4,由此,向用戶展示了清晰明白的數(shù)據(jù)項(xiàng),提高了用戶體驗(yàn)。
[0091] 根據(jù)本發(fā)明實(shí)施例的基于角色和數(shù)據(jù)項(xiàng)的訪問(wèn)控制方法,從業(yè)務(wù)邏輯層面和功能 性層面對(duì)用戶的訪問(wèn)進(jìn)行控制,一方面通過(guò)用戶角色來(lái)決定某一功能或數(shù)據(jù)能否訪問(wèn),另 一方面,在該用戶有權(quán)訪問(wèn)該功能或者數(shù)據(jù)時(shí)再根據(jù)數(shù)據(jù)項(xiàng)訪問(wèn)權(quán)限來(lái)確定用戶可以訪問(wèn) 的數(shù)據(jù)項(xiàng),由此,有效的避免用戶隱私信息的泄露,同時(shí)增強(qiáng)訪問(wèn)策略的靈活性,降低業(yè)務(wù) 系統(tǒng)的管理復(fù)雜性。
[0092] 圖2b是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于角色和數(shù)據(jù)項(xiàng)的訪問(wèn)控制框架示意圖。該 實(shí)施例以就業(yè)信息服務(wù)平臺(tái)的業(yè)務(wù)系統(tǒng)為例說(shuō)明業(yè)務(wù)系統(tǒng)的訪問(wèn)控制過(guò)程。
[0093] 具體地,在就業(yè)信息服務(wù)平臺(tái)的業(yè)務(wù)系統(tǒng)接收到用戶的登錄請(qǐng)求后,如果登錄用 戶發(fā)送基于角色權(quán)限的訪問(wèn)請(qǐng)求,則該業(yè)務(wù)系統(tǒng)中的角色請(qǐng)求執(zhí)行點(diǎn)獲得基于角色權(quán)限 的訪問(wèn)請(qǐng)求,然后該業(yè)務(wù)系統(tǒng)中的角色請(qǐng)求判定點(diǎn)從角色管理點(diǎn)中獲得當(dāng)前角色的角色權(quán) 限,并根據(jù)角色權(quán)限對(duì)該基于角色權(quán)限的訪問(wèn)請(qǐng)求進(jìn)行判斷,如果從角色權(quán)限表中獲得當(dāng) 前角色不具有該操作權(quán)限,則拒絕用戶的訪問(wèn)請(qǐng)求,反之則獲得基于角色權(quán)限的訪問(wèn)請(qǐng)求 所對(duì)應(yīng)的數(shù)據(jù)資源。其中,需要說(shuō)明的是,角色管理點(diǎn)中預(yù)先保存了角色權(quán)限表。
[0094] 在確定訪問(wèn)該功能或者數(shù)據(jù)時(shí)再根據(jù)數(shù)據(jù)項(xiàng)訪問(wèn)權(quán)限來(lái)確定用戶可以訪問(wèn)的數(shù) 據(jù)項(xiàng),具體地,該業(yè)務(wù)系統(tǒng)從數(shù)據(jù)庫(kù)中獲得該數(shù)據(jù)項(xiàng)訪問(wèn)請(qǐng)求的資源,然后該業(yè)務(wù)系統(tǒng)的數(shù) 據(jù)項(xiàng)管理點(diǎn)獲得當(dāng)前角色的數(shù)據(jù)項(xiàng)權(quán)限信息,并根據(jù)數(shù)據(jù)項(xiàng)權(quán)限信息對(duì)獲得的資源進(jìn)行過(guò) 濾,以及將過(guò)濾后的資源作為訪問(wèn)請(qǐng)求的響應(yīng)返回,以使用戶可在業(yè)務(wù)系統(tǒng)的界面中獲得 對(duì)應(yīng)的訪問(wèn)結(jié)果。其中,需要說(shuō)明的是,數(shù)據(jù)項(xiàng)管理點(diǎn)中預(yù)先保存了角色數(shù)據(jù)項(xiàng)表,角色數(shù) 據(jù)項(xiàng)表中包含了不同角色對(duì)數(shù)據(jù)項(xiàng)的權(quán)限信息。
[0095] 為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明還提出了一種基于角色和數(shù)據(jù)項(xiàng)的訪問(wèn)控制裝置。
[0096]圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于角色和數(shù)據(jù)項(xiàng)的訪問(wèn)控制裝置的結(jié)構(gòu)示意 圖。
[0097] 如圖3所示,該基于角色和數(shù)據(jù)項(xiàng)的訪問(wèn)控制裝置包括接收模塊100、構(gòu)建模塊 200和處理模塊300,其中:
[0098] 接收模塊100用于接收用戶基于角色權(quán)限發(fā)送的訪問(wèn)請(qǐng)求,基于角色權(quán)限發(fā)送的 訪問(wèn)請(qǐng)求中包括用戶的角色標(biāo)識(shí)信息;構(gòu)建模塊200用于根據(jù)基于角色權(quán)限發(fā)送的訪問(wèn)請(qǐng) 求和預(yù)先保存的數(shù)據(jù)項(xiàng)信息構(gòu)建基于數(shù)據(jù)項(xiàng)的訪問(wèn)請(qǐng)求,其中,基于數(shù)據(jù)項(xiàng)的訪問(wèn)請(qǐng)求中 包括角色標(biāo)識(shí)信息和數(shù)據(jù)項(xiàng)信息;處理模塊300用于根據(jù)基于數(shù)據(jù)項(xiàng)的訪問(wèn)請(qǐng)求獲得對(duì)應(yīng) 的數(shù)據(jù)項(xiàng),并返回?cái)?shù)據(jù)項(xiàng)。
[0099] 其中,上述數(shù)據(jù)項(xiàng)信息是指系統(tǒng)中預(yù)先保存的角色數(shù)據(jù)項(xiàng)權(quán)限表和與數(shù)據(jù)項(xiàng)有關(guān) 其他彳目息。
[0100] 上述處理模塊300具體用于:根據(jù)角色標(biāo)識(shí)信息從角色權(quán)限表中查找數(shù)據(jù)項(xiàng)的權(quán) 限,并根據(jù)所獲得權(quán)限結(jié)果對(duì)數(shù)據(jù)項(xiàng)進(jìn)行處理;如果當(dāng)前角色有權(quán)查看數(shù)據(jù)項(xiàng),則返回?cái)?shù)據(jù) 項(xiàng)。
[0101] 另外,如圖4所示,上述裝置還可以包括第一保存模塊400,該第一保存模塊400用 于在接收模塊100接收用戶基于角色權(quán)限發(fā)送的訪問(wèn)請(qǐng)求之前,建立并保存角色權(quán)限表。
[0102] 其中,上述角色權(quán)限表中包括角色、數(shù)據(jù)表和操作權(quán)限的對(duì)應(yīng)關(guān)系,角色權(quán)限表的 形式如表2所示。
[0103] 具體地,將業(yè)務(wù)系統(tǒng)存在的角色分類導(dǎo)入到角色權(quán)限表中后,并對(duì)每一種角色確 定訪問(wèn)權(quán)限,第一保存模塊400將對(duì)應(yīng)的保存角色和訪問(wèn)權(quán)限的對(duì)應(yīng)關(guān)系。
[0104] 另外,上述裝置還可以包括第二保存模塊500,該第二保存模塊500用于在處理模 塊300根據(jù)角色標(biāo)識(shí)信息從角色數(shù)據(jù)項(xiàng)權(quán)限表中查找數(shù)據(jù)項(xiàng)的權(quán)限之前,建立并保存角色 數(shù)據(jù)項(xiàng)權(quán)限表。
[0105]其中,上述角色數(shù)據(jù)項(xiàng)權(quán)限表包含數(shù)據(jù)表、數(shù)據(jù)項(xiàng)、角色和權(quán)限的對(duì)應(yīng)關(guān)系,角色 數(shù)據(jù)項(xiàng)權(quán)限表的形式如表3所示。
[0106]上述裝置還可以包括提示模塊600,該提示模塊600用于如果當(dāng)前角色無(wú)權(quán)查看 數(shù)據(jù)項(xiàng),則返回訪問(wèn)受限提示。
[0107]為了建立角色和數(shù)據(jù)項(xiàng)之間的權(quán)限對(duì)應(yīng)關(guān)系,上述裝置還可以包括預(yù)處理模塊 700,該預(yù)處理模塊700用于按照預(yù)設(shè)屬性信息對(duì)數(shù)據(jù)項(xiàng)進(jìn)行分類,并根據(jù)分類結(jié)果設(shè)置對(duì) 應(yīng)數(shù)據(jù)項(xiàng)的權(quán)限,以及在角色數(shù)據(jù)項(xiàng)權(quán)限表中保存對(duì)應(yīng)數(shù)據(jù)項(xiàng)的權(quán)限。
[0108]其中,上述預(yù)設(shè)屬性信息可以包括標(biāo)識(shí)屬性、準(zhǔn)標(biāo)識(shí)屬性、敏感信息和非敏感信 息。
[0109] 標(biāo)識(shí)屬性(IdentifyAttribute,IA)是唯一能夠標(biāo)識(shí)一個(gè)個(gè)體的屬性,如身份證 號(hào),各資歷證書(shū)編號(hào)、企業(yè)的注冊(cè)編號(hào)等等。
[0110]準(zhǔn)標(biāo)識(shí)屬性(AccurateIdentifyAttribute,AIA),是聯(lián)合起來(lái)能夠表示一個(gè)個(gè) 體的多個(gè)屬性,能夠在背景知識(shí)(其他外部信息)的幫助下用來(lái)設(shè)別個(gè)體,例如出生日期、 性別、出生地、郵政編碼等等。
[0111] 敏感屬性(SensitiveAttribute,SA),描述個(gè)體隱私的屬性,如工資收入,個(gè)人存 款賬號(hào)及密碼,私人財(cái)務(wù)清單、電話費(fèi)清單、個(gè)人債務(wù)、購(gòu)物習(xí)慣及偏好等等。
[0112] 另外,為了減少保證不會(huì)造成數(shù)據(jù)泄露又能減輕后端服務(wù)器的壓力,創(chuàng)建模塊200 具體用于:可根據(jù)從預(yù)先保存的角色數(shù)據(jù)項(xiàng)權(quán)限表中獲取當(dāng)前角色的數(shù)據(jù)項(xiàng)權(quán)限信息,若 根據(jù)數(shù)據(jù)項(xiàng)信息確定當(dāng)前角色對(duì)對(duì)應(yīng)的數(shù)據(jù)項(xiàng)沒(méi)有訪問(wèn)權(quán)限,則不為該基于角色權(quán)限的訪 問(wèn)請(qǐng)求創(chuàng)建基于數(shù)據(jù)項(xiàng)的訪問(wèn)請(qǐng)求,若確定當(dāng)前角色對(duì)對(duì)應(yīng)的數(shù)據(jù)項(xiàng)有訪問(wèn)權(quán)限,則動(dòng)態(tài) 生成一個(gè)包含角色標(biāo)識(shí)信息、數(shù)據(jù)項(xiàng)信息以及操作的基于數(shù)據(jù)項(xiàng)的訪問(wèn)請(qǐng)求。具體地,在 獲得基于數(shù)據(jù)項(xiàng)的訪問(wèn)請(qǐng)求后,處理模塊300可根據(jù)訪問(wèn)請(qǐng)求中的角色標(biāo)識(shí)信息判斷當(dāng)前 角色是否能夠訪問(wèn)對(duì)應(yīng)的數(shù)據(jù)項(xiàng),如果從角色數(shù)據(jù)項(xiàng)權(quán)限表中查到當(dāng)前角色不能訪問(wèn)對(duì)應(yīng) 的數(shù)據(jù)項(xiàng),則返回給用戶訪問(wèn)受限提示;如果當(dāng)前角色可以訪問(wèn)對(duì)應(yīng)的數(shù)據(jù)項(xiàng),則提示模塊 600返回對(duì)應(yīng)的數(shù)據(jù)項(xiàng),將對(duì)應(yīng)的結(jié)果展示給用戶。
[0113]需要說(shuō)明的是,前述對(duì)基于角色和數(shù)據(jù)項(xiàng)的訪問(wèn)控制方法實(shí)施例的解釋說(shuō)明也適 用于該實(shí)施例的基于角色和數(shù)據(jù)項(xiàng)的訪問(wèn)控制裝置,此處不再贅述。
[0114]根據(jù)本發(fā)明實(shí)施例的基于角色和數(shù)據(jù)項(xiàng)的訪問(wèn)控制裝置,通過(guò)接收模塊接收用戶 基于角色權(quán)限發(fā)送的訪問(wèn)請(qǐng)求,其中,基于角色權(quán)限發(fā)送的訪問(wèn)請(qǐng)求中包括用戶的角色標(biāo) 識(shí)信息,然后構(gòu)建模塊根據(jù)基于角色權(quán)限發(fā)送的訪問(wèn)請(qǐng)求和預(yù)先保存的數(shù)據(jù)項(xiàng)信息構(gòu)建基 于數(shù)據(jù)項(xiàng)的訪問(wèn)請(qǐng)求,其中,基于數(shù)據(jù)項(xiàng)的訪問(wèn)請(qǐng)求中包括角色標(biāo)識(shí)信息和數(shù)據(jù)項(xiàng)信息,處 理模塊根據(jù)基于數(shù)據(jù)項(xiàng)的訪問(wèn)請(qǐng)求獲得對(duì)應(yīng)的數(shù)據(jù)項(xiàng),并返回?cái)?shù)據(jù)項(xiàng),由此,實(shí)現(xiàn)了對(duì)業(yè)務(wù) 邏輯層面和功能性的訪問(wèn)控