本發(fā)明實施例涉及網(wǎng)絡技術領域,特別是涉及一種后臺管理系統(tǒng)的權限控制方法和裝置。
背景技術:
權限控制一般是指一個系統(tǒng)的安全規(guī)則或者安全策略,其中規(guī)定用戶可以訪問而且只能訪問自己被授權的資源,不多不少。一般來說,只要某個系統(tǒng)有用戶和密碼,就需要在該系統(tǒng)的后臺管理系統(tǒng)中進行權限控制。目前的權限控制系統(tǒng)都是基于關系型數(shù)據(jù)庫實現(xiàn)的。在現(xiàn)有的權限控制系統(tǒng)中,需要設計一個URL關系對應表,其中存放有所有的功能的URL,當用戶發(fā)送請求時,系統(tǒng)會判斷此URL+請求類型所對應的功能與用戶的角色權限是否相符,如果相符則執(zhí)行相關的請求,反之則拒絕該請求。
發(fā)明人在實施本申請的過程中發(fā)現(xiàn),在上述操作中會涉及很多許多復雜的關系表,增加了數(shù)據(jù)庫的操作復雜性,速度和性能均受到關系型數(shù)據(jù)庫的影響,從而使權限控制的執(zhí)行效率較低,用戶體驗較差。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明實施例提供了一種后臺管理系統(tǒng)的權限控制方法和裝置,以解決現(xiàn)有權限控制的執(zhí)行效率較低的問題。
為了解決上述問題,本發(fā)明實施例公開了一種后臺管理系統(tǒng)的權限控制方法,具體包括如下步驟:
預置用戶關系、部門關系和角色;
在對一個用戶開通權限時,根據(jù)所述用戶關系和所述部門關系將所述用戶授予相應的所述角色;
根據(jù)所述角色生成與用戶對應的搜索引擎索引項;
當用戶發(fā)送請求時,利用搜索引擎從所述搜索引擎索引項中查詢所述用戶是否擁有與所述請求對應的操作權限。
可選的,所述預置用戶關系、部門關系和角色,包括:
獲取所述用戶關系和所述部門關系;
根據(jù)管理需要預置多個角色,所述角色包含一種或多種操作權限;
將所述用戶關系、所述部門關系和所述角色存入一個非關系型數(shù)據(jù)庫。
可選的,所述搜索引擎索引項中包含所述用戶的操作權限。
可選的,所述當用戶發(fā)送請求時,利用搜索引擎從所述搜索引擎索引項中查詢所述用戶是否擁有與所述請求對應的操作權限,包括:
當所述用戶發(fā)送請求時,利用所述搜索引擎查詢所述搜索引擎索引項;
判斷所述搜索引擎索引項中包含的操作權限是否允許所述請求包含的當前操作請求執(zhí)行;
如果所述操作權限允許所述當前操作請求的執(zhí)行,則判定發(fā)出所述請求的用戶具有與所述請求對應的操作權限,反之則不具有所述操作權限。
相應地,為了保證上述權限控制方法的實施,本發(fā)明實施例還提供了一種后臺管理系統(tǒng)的權限控制裝置,具體包括:
數(shù)據(jù)預置模塊,用于預置用戶關系、部門關系和角色;
角色授予模塊,用于在對一個用戶開通權限時,根據(jù)所述用戶關系和所述部門關系將所述用戶授予相應的所述角色;
索引項生成模塊,用于根據(jù)所述角色生成與用戶對應的搜索引擎索引項;
權限驗證模塊,用于當用戶發(fā)送請求時,利用搜索引擎從所述搜索引擎索引項中查詢所述用戶是否擁有與所述請求對應的操作權限。
可選的,所述數(shù)據(jù)預置模塊包括:
數(shù)據(jù)獲取單元,用于獲取所述用戶關系和所述部門關系;
角色配置單元,用于根據(jù)管理需要預置多個角色,所述角色包含一種或多種操作權限;
數(shù)據(jù)存儲單元,用于將所述用戶關系、所述部門關系和所述角色存入一個非關系型數(shù)據(jù)庫。
可選的,所述搜索引擎索引項中包含所述用戶的操作權限。
可選的,所述權限驗證模塊包括:
索引項查詢單元,用于當所述用戶發(fā)送請求時,利用所述搜索引擎查詢所述搜索引擎索引項;
權限判斷單元,用于判斷所述搜索引擎索引項中包含的操作權限是否允許所述請求包含的當前操作請求執(zhí)行;
權限判定單元,用于當所述操作權限允許所述當前操作請求執(zhí)行時,判定發(fā)出所述請求的用戶具有與所述請求對應的操作權限,反之則判定不具有所述操作權限。
從上述技術方案可以看出,本發(fā)明實施例提供了一種后臺管理系統(tǒng)的權限控制方法和裝置,即通過該后臺管理系統(tǒng)實現(xiàn)對網(wǎng)站的用戶的操作權限進行控制,具體為首先預置用戶關系、部門關系和角色;在對一個用戶開通權限時,根據(jù)用戶關系和部門關系將用戶授予相應的所述角色;根據(jù)授予的角色生成與用戶對應的搜索引擎索引項;當用戶發(fā)送請求時,利用搜索引擎搜索從搜索引擎索引項中查詢用戶是否擁有與所述請求對應的操作權限。由此可以看出,本發(fā)明實施例提供的權限控制方法和裝置不涉及復雜的關系表,從而無需復雜的查表操作,僅利用搜索引擎進行查詢即可實現(xiàn)對用戶的操作權限的控制,執(zhí)行效率較高,進而能提高了用戶體驗。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例的一種后臺管理系統(tǒng)的權限控制方法的步驟流程圖;以及
圖2是本發(fā)明實施例的一種后臺管理系統(tǒng)的權限控制裝置的結(jié)構(gòu)框圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
實施例一
圖1為本發(fā)明實施例的一種后臺管理系統(tǒng)的權限控制方法的步驟流程圖。
參照圖1所示,本實施例提供的權限控制方法用于為具有用戶和密碼的網(wǎng)站的后臺管理系統(tǒng)提供權限控制,該權限控制方法的具體步驟包括:
S101:預置用戶關系、部門關系和多個角色。
用戶關系是指能夠獲取上述網(wǎng)站服務的多個用戶之間的關系,其中包括有每個用戶的用戶資料,這些用戶一般指這些網(wǎng)站中預先注冊的合法用戶,也可以是臨時分配的臨時用戶。部門之間的關系指這些用戶所述部門之間的關系,例如上下級部門關系、平行業(yè)務部門關系等。
角色是指預先分配的角色身份,角色可以理解為一定數(shù)量的操作權限的集合,操作權限的載體。例如:一個論壇系統(tǒng),“超級管理員”、“普通管理員”“版主”都是角色。版主可管理版內(nèi)的帖子、可管理版內(nèi)的用戶等,這些是權限。要給某個用戶授予這些權限,不需要直接將權限授予用戶,可將“版主”這個角色賦予該用戶。
上述操作權限是指對功能模塊的操作,例如對上傳文件的刪改,菜單的訪問,甚至頁面上某個按鈕、某個圖片的可見性控制,都屬于操作權限的范疇。
具體預置的過程包括如下步驟:
步驟1:獲取上述用戶關系和部門關系,獲取過程可以是接收提前輸入的相關數(shù)據(jù)。
步驟2:根據(jù)管理需要預置多個角色,每個角色包含一種或多種的操作權限,例如上述“超級管理員”、“普通管理員”和“版主”等。
步驟3:將上述用戶關系、部門關系和角色存入一個非關系型數(shù)據(jù)庫。非關系型數(shù)據(jù)庫是指相對于傳統(tǒng)的關系型數(shù)據(jù)庫而提出的一種理念。它以鍵值對存儲,且結(jié)構(gòu)不固定,每一個元組可以有不一樣的字段,每個元組可以根據(jù)需要增加一些自己的鍵值對,這樣就不會局限于固定的結(jié)構(gòu),可以減少一些時間和空間的開銷。利用這種方式,用戶可以根據(jù)需要去添加自己需要的字段,這樣,為了獲取用戶的不同信息,不需要像關系型數(shù)據(jù)庫中對多表進行關聯(lián)查詢。僅需要根據(jù)id取出相應的value就可以完成查詢。
S102:根據(jù)用戶關系和部門關系對用戶授予相應的角色。
當對一個用戶開通相應的權限時,根據(jù)上述用戶關系、部門關系和具體的業(yè)務需求,對該申請開通權限的用戶授予一定的角色,該角色與上述所定義的角色相同,即包含一種或多種的操作權限。
S103:生成與用戶對應的搜索引擎索引項。
即根據(jù)上述對用戶授予的角色,生成與該用戶對應的搜索引擎索引項,由于角色實際是包含一系列的操作權限的信息集成,因此上述搜索引擎索引項實際包含了該用戶的操作權限。
在根據(jù)管理員的操作授予多個用戶不同權限時,將分別對應不同用戶的多個搜索引擎索引項存儲為一個索引表,從而方便搜索引擎查詢。這里的搜索引擎是指站內(nèi)搜索引擎。
S104:當用戶發(fā)送請求時,對用戶的操作權限進行驗證。
當用戶發(fā)送請求時,該請求中一定會包含一定的操作請求,這時對該用戶是否擁有該操作請求相對應的操作權限進行驗證。該驗證過程是通過上述搜索引擎進行的,具體的驗證過程包括如下步驟:
步驟1:當用戶發(fā)送請求時,利用上述搜索引擎從上述索引表中查詢與用戶對應的搜索引擎索引項。
步驟2:在查詢到與用戶對應的搜索引擎索引項后,判斷該索引項中包含的操作權限是否允許用戶所發(fā)送的請求所包含的操作請求執(zhí)行。例如,如果發(fā)送請求的用戶是“超級管理員”,則其對應的搜索引擎索引項中所包含的操作權限是最全面的,其在發(fā)送的請求中包含的任何操作請求都是允許的;但是對于“版主”用戶來說,其只能進行簡單的審核,而不允許進行刪除。
步驟3:通過以上的判斷,如果與用戶對應的搜索引擎索引項中包含的操作權限運行該用戶發(fā)送的請求中的操作請求執(zhí)行,則判定該用戶具有與請求操作所對應的操作權限,反之則不具有該操作權限,并進一步拒絕執(zhí)行該操作請求。通過以上操作可以實現(xiàn)用戶的權限控制。
從上述技術方案可以看出,本實施例提供了一種后臺管理系統(tǒng)的權限控制方法,即通過該后臺管理系統(tǒng)實現(xiàn)對網(wǎng)站的用戶的操作權限進行控制,具體為首先預置用戶關系、部門關系和角色;在對一個用戶開通權限時,根據(jù)用戶關系和部門關系將用戶授予相應的所述角色;根據(jù)授予的角色生成與用戶對應的搜索引擎索引項;當用戶發(fā)送請求時,利用搜索引擎搜索從搜索引擎索引項中查詢用戶是否擁有與所述請求對應的操作權限。由此可以看出,本發(fā)明實施例提供的權限控制方法不涉及復雜的關系表,從而無需復雜的查表操作,僅利用搜索引擎進行查詢即可實現(xiàn)對用戶的操作權限的控制,執(zhí)行效率較高,進而能提高了用戶體驗。
需要說明的是,對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明實施例并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明實施例,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本發(fā)明實施例所必須的。
實施例二
圖2為本發(fā)明實施例的一種后臺管理系統(tǒng)的權限控制裝置的結(jié)構(gòu)框圖。
參照圖2所示,本實施例提供的權限控制裝置用于為具有用戶和密碼的網(wǎng)站的后臺管理系統(tǒng)提供權限控制,該權限控制裝置具體包括數(shù)據(jù)預置模塊10、角色授予模塊20、索引項生成模塊30和權限驗證模塊40。
數(shù)據(jù)預置模塊10用于預置用戶關系、部門關系和多個角色。
用戶關系是指能夠獲取上述網(wǎng)站服務的多個用戶之間的關系,其中包括有每個用戶的用戶資料,這些用戶一般指這些網(wǎng)站中預先注冊的合法用戶,也可以是臨時分配的臨時用戶。部門之間的關系指這些用戶所述部門之間的關系,例如上下級部門關系、平行業(yè)務部門關系等。
角色是指預先分配的角色身份,角色可以理解為一定數(shù)量的操作權限的集合,操作權限的載體。例如:一個論壇系統(tǒng),“超級管理員”、“普通管理員”“版主”都是角色。版主可管理版內(nèi)的帖子、可管理版內(nèi)的用戶等,這些是權限。要給某個用戶授予這些權限,不需要直接將權限授予用戶,可將“版主”這個角色賦予該用戶。
上述操作權限是指對功能模塊的操作,例如對上傳文件的刪改,菜單的訪問,甚至頁面上某個按鈕、某個圖片的可見性控制,都屬于操作權限的范疇。
數(shù)據(jù)預置模塊具體包括數(shù)據(jù)獲取單元11、角色配置單元12和數(shù)據(jù)存儲單元13。
數(shù)據(jù)獲取單元11用于獲取上述用戶關系和部門關系,獲取過程可以是接收提前輸入的相關數(shù)據(jù)。
角色配置單元用于根據(jù)管理需要預置多個角色,每個角色包含一種或多種的操作權限,例如上述“超級管理員”、“普通管理員”和“版主”等。
數(shù)據(jù)存儲單元13用于將上述用戶關系、部門關系和角色存入一個非關系型數(shù)據(jù)庫。非關系型數(shù)據(jù)庫是指相對于傳統(tǒng)的關系型數(shù)據(jù)庫而提出的一種理念。它以鍵值對存儲,且結(jié)構(gòu)不固定,每一個元組可以有不一樣的字段,每個元組可以根據(jù)需要增加一些自己的鍵值對,這樣就不會局限于固定的結(jié)構(gòu),可以減少一些時間和空間的開銷。利用這種方式,用戶可以根據(jù)需要去添加自己需要的字段,這樣,為了獲取用戶的不同信息,不需要像關系型數(shù)據(jù)庫中對多表進行關聯(lián)查詢。僅需要根據(jù)id取出相應的value就可以完成查詢。
角色授予模塊20用于根據(jù)用戶關系和部門關系對用戶授予相應的角色。
當對一個用戶開通相應的權限時,角色授予模塊20用于根據(jù)上述用戶關系、部門關系和具體的業(yè)務需求,對該申請開通權限的用戶授予一定的角色,該角色與上述所定義的角色相同,即包含一種或多種的操作權限。
索引項生成模塊30用于生成與用戶對應的搜索引擎索引項。
即根據(jù)上述對用戶授予的角色,生成與該用戶對應的搜索引擎索引項,由于角色實際是包含一系列的操作權限的信息集成,因此上述搜索引擎索引項實際包含了該用戶的操作權限。
在根據(jù)管理員的操作授予多個用戶不同權限時,將分別對應不同用戶的多個搜索引擎索引項存儲為一個索引表,從而方便搜索引擎查詢。這里的搜索引擎是指站內(nèi)搜索引擎。
權限驗證模塊40用于當用戶發(fā)送請求時,對用戶的操作權限進行驗證。
當用戶發(fā)送請求時,該請求中一定會包含一定的操作請求,這時對該用戶是否擁有該操作請求相對應的操作權限進行驗證。該驗證過程是通過上述搜索引擎進行的,該權限驗證模塊具體包括索引項查詢單元41、權限判斷單元42和權限判定單元43。
索引項查詢單元41用于當用戶發(fā)送請求時,利用上述搜索引擎從上述索引表中查詢與用戶對應的搜索引擎索引項。
權限判斷單元42用于在查詢到與用戶對應的搜索引擎索引項后,判斷該索引項中包含的操作權限是否允許用戶所發(fā)送的請求所包含的操作請求執(zhí)行。例如,如果發(fā)送請求的用戶是“超級管理員”,則其對應的搜索引擎索引項中所包含的操作權限是最全面的,其在發(fā)送的請求中包含的任何操作請求都是允許的;但是對于“版主”用戶來說,其只能進行簡單的審核,而不允許進行刪除。
權限判定單元43用于當與用戶對應的搜索引擎索引項中包含的操作權限運行該用戶發(fā)送的請求中的操作請求執(zhí)行時,判定該用戶具有與請求操作所對應的操作權限,反之則不具有該操作權限,并進一步拒絕執(zhí)行該操作請求。通過以上操作可以實現(xiàn)用戶的權限控制。
從上述技術方案可以看出,本實施例提供了一種后臺管理系統(tǒng)的權限控制裝置,即通過該后臺管理系統(tǒng)實現(xiàn)對網(wǎng)站的用戶的操作權限進行控制,具體為首先預置用戶關系、部門關系和角色;在對一個用戶開通權限時,根據(jù)用戶關系和部門關系將用戶授予相應的所述角色;根據(jù)授予的角色生成與用戶對應的搜索引擎索引項;當用戶發(fā)送請求時,利用搜索引擎搜索從搜索引擎索引項中查詢用戶是否擁有與所述請求對應的操作權限。由此可以看出,本發(fā)明實施例提供的權限控制裝置不涉及復雜的關系表,從而無需復雜的查表操作,僅利用搜索引擎進行查詢即可實現(xiàn)對用戶的操作權限的控制,執(zhí)行效率較高,進而能提高了用戶體驗。
對于裝置實施例而言,由于其與方法實施例基本相似,所以描述地比較簡單,相關之處參見方法實施例的部分說明即可。
本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
本領域內(nèi)的技術人員應明白,本發(fā)明實施例可提供為方法、裝置、或計算機程序產(chǎn)品。因此,本發(fā)明實施例可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明實施例可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明實施例是參照根據(jù)本發(fā)明實施例的方法、終端設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解,可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理終端設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理終端設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理終端設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理終端設備上,使得在計算機或其他可編程終端設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程終端設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本發(fā)明實施例的優(yōu)選實施例,但本領域內(nèi)的技術人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明實施例范圍的所有變更和修改。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設備中還存在另外的相同要素。
以上對本發(fā)明實施例所提供的技術方案進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。