新四季網

一種資料庫行權限控制方法和系統與流程

2023-06-03 02:15:56 1


本發明涉及數據安全領域,尤其涉及一種資料庫行權限控制方法和系統。



背景技術:

如何有效地保證數據的安全,實現數據的保密性,對如今的資料庫系統來說是至關重要的。因為資料庫中存放著大量的數據,這些數據可供擁有一定職責和權力的用戶共享。但是,很難嚴格的限制用戶只能得到一些與他們權力相當的數據。目前存在的對數據做權限的限制方法粒度過於粗糙,只能在表級別或者列級別對數據的訪問權限做限制。這樣就造成為了限制用戶數據訪問,對用戶應有權限的數據也做了限制。



技術實現要素:

為了解決上述問題,本發明提出了一種資料庫行權限控制方法和系統,能夠使得用戶進行數據查詢時合理限制用戶權限。

為了達到上述目的,本發明提出了一種資料庫行權限控制方法,該方法包括:

在預設的數據權限管理系統中對用戶輸入的結構化查詢語言sql查詢語句進行初步解析,獲得含有未解決節點的sql解析樹。

通過元數據信息完善未解決節點的信息。

將當前用戶信息與數據權限管理系統中預存的用戶權限信息進行比較,獲取當前用戶的權限限制信息。

將權限限制信息與完善後的未解決節點相結合生成過濾節點。

將過濾節點添加到sql解析樹上的未解決節點處生成最終sql解析樹。

根據最終sql解析樹獲得用戶的sql查詢結果。

優選地,未解決節點包括:需要查詢的還未得到表結構的數據表。

其中,數據表包括:人員信息表。

表結構包括:數據表中各個欄位的信息。

優選地,通過元數據信息完善未解決節點的信息包括:從元數據信息中獲取查詢時需要操作的數據表的表結構的信息。

優選地,將權限限制信息與完善後的未解決節點相結合生成過濾節點包括:

將權限限制信息與需要查詢的數據表中的各個欄位分別進行比較,生成符合權限限制信息的各個欄位的限制範圍,將各個欄位的限制範圍作為過濾節點。

優選地,權限限制信息包括:姓名、年齡、通訊方式和職位。

為了達到上述目的,本發明還提出了一種資料庫行權限控制系統,該系統包括:初步解析模塊、完善模塊、獲取模塊、生成模塊、添加模塊和結果獲取模塊。

初步解析模塊,用於在預設的數據權限管理系統中對用戶輸入的結構化查詢語言sql查詢語句進行初步解析,獲得含有未解決節點的sql解析樹。

完善模塊,用於通過元數據信息完善未解決節點的信息。

獲取模塊,用於將當前用戶信息與數據權限管理系統中預存的用戶權限信息進行比較,獲取當前用戶的權限限制信息。

生成模塊,用於將權限限制信息與完善後的未解決節點相結合生成過濾節點。

添加模塊,用於將過濾節點添加到sql解析樹上的未解決節點處生成最終sql解析樹。

結果獲取模塊,用於根據最終sql解析樹獲得用戶的sql查詢結果。

優選地,未解決節點包括:需要查詢的還未得到表結構的數據表。

其中,數據表包括:人員信息表。

表結構包括:數據表中各個欄位的信息。

優選地,完善模塊通過元數據信息完善未解決節點的信息包括:從元數據信息中獲取查詢時需要操作的數據表的表結構的信息。

優選地,生成模塊將權限限制信息與完善後的未解決節點相結合生成過濾節點包括:

將所權限限制信息與需要查詢的數據表中的各個欄位分別進行比較,生成符合權限限制信息的各個欄位的限制範圍,將各個欄位的限制範圍作為過濾節點。

優選地,權限限制信息包括:姓名、年齡、通訊方式和職位。

與現有技術相比,本發明包括:在預設的數據權限管理系統中對用戶輸入的結構化查詢語言sql查詢語句進行初步解析,獲得含有未解決節點的sql解析樹。通過元數據信息完善未解決節點的信息。將當前用戶信息與數據權限管理系統中預存的用戶權限信息進行比較,獲取當前用戶的權限限制信息。將權限限制信息與完善後的未解決節點相結合生成過濾節點。將過濾節點添加到sql解析樹上的未解決節點處生成最終sql解析樹。根據最終sql解析樹獲得用戶的sql查詢結果。通過本發明的方案,能夠使得用戶進行數據查詢時合理限制用戶權限。

附圖說明

下面對本發明實施例中的附圖進行說明,實施例中的附圖是用於對本發明的進一步理解,與說明書一起用於解釋本發明,並不構成對本發明保護範圍的限制。

圖1為本發明的一種資料庫行權限控制方法流程圖;

圖2為本發明的一種資料庫行權限控制系統組成框圖。

具體實施方式

為了便於本領域技術人員的理解,下面結合附圖對本發明作進一步的描述,並不能用來限制本發明的保護範圍。

本發明方法通過在結構化查詢語言sql(structuredquerylanguage,簡稱sql)解析過程中將數據行權限作為過濾節點添加到語法樹中,從而完成資料庫行級別權限的限制。本方法依賴於一個存儲用戶權限的系統,在用戶執行sql查詢時從該系統中獲取需要訪問數據的用戶擁有的行權限,接著將該權限轉換為表達式添加到過濾節點中,並且將該節點添加到sql解析出的語法樹的相應位置,然後繼續將該語法樹轉換為物理查詢,最後返回的查詢結果。

為了達到上述目的,本發明提出了一種資料庫行權限控制方法,該方法包括:

s101、在預設的數據權限管理系統中對用戶輸入的結構化查詢語言sql查詢語句進行初步解析,獲得含有未解決節點的sql解析樹。

在本發明實施例中,需要預先設置一個數據權限管理系統,用戶進行數據查詢時,通過在該數據權限管理系統中輸入sql查詢語句進行查詢。在sql查詢語句中,會包含一些關鍵字,例如,當用戶輸入「王紅聯繫方式」時,該語句中的關鍵字是「聯繫方式」。數據權限管理系統會解析sql查詢語句中的這個關鍵字,並根據這些關鍵字初步建立起sql解析樹,即,根據關鍵字「聯繫方式」將資料庫中存儲的相關的通訊表信息以樹形結構分別羅列出來,即本發明所說的sql解析樹。當然,在這個sql解析樹的每個分支上,即上述舉例中的每個相關通訊表分支上,會存在一些未知內容,即本發明中的未解決節點,例如,具體每個通訊表的表格結構、形式及內容等,具體地,該通訊表的形式可以是人員信息表。

優選地,未解決節點包括:需要查詢的還未得到表結構的數據表。

其中,數據表包括:人員信息表。

表結構包括:數據表中各個欄位的信息。例如,如果數據表為人員信息 表,該人員信息表中的欄位可以是姓名、年齡、通訊方式和職位。

s102、通過元數據信息完善未解決節點的信息。

優選地,通過元數據信息完善未解決節點的信息包括:從元數據信息中獲取查詢時需要操作的數據表的表結構的信息。

s103、將當前用戶信息與數據權限管理系統中預存的用戶權限信息進行比較,獲取當前用戶的權限限制信息。

在本發明實施例中,需要預先配置每個用戶的數據行權限,並將該數據行權限存儲在預設的數據權限管理系統中。例如,預先在數據權限管理系統中設置為上述的人員信息表僅僅針對年齡在16歲到35歲之間的人員有查詢權限。基於在步驟s101中初步建立的sql解析樹,當用戶的查詢內容涉及到該人員信息表的查詢時,會首先將當前用戶信息與數據權限管理系統中預存的用戶權限信息進行比較,檢查當前用戶是否在查詢權限內,並返回檢查結果,即上述的當前用戶的權限限制信息。例如,如果當前查詢者為20歲,則對該人員信息表有查詢權限,如果當前查詢者為18歲或40歲,則對該人員信息表沒有查詢權限。另外,還可以是人員信息表中的某些姓名、某些年齡或某些通訊方式針對當前查詢者具有權限。

優選地,權限限制信息包括:姓名、年齡、通訊方式和職位。

在本發明實施例中,該權限限制信息除了上述舉例中的年齡限制外,還可也設置成姓名、通訊方式、職位等各種限制條件,在此不作具體限制,可以根據具體情況自行設置。

s104、將權限限制信息與完善後的未解決節點相結合生成過濾節點。

優選地,將權限限制信息與完善後的未解決節點相結合生成過濾節點包括:

將權限限制信息與需要查詢的數據表中的各個欄位分別進行比較,生成符合權限限制信息的各個欄位的限制範圍,將各個欄位的限制範圍作為過濾節點。

在本發明實施例中,仍以上述的人員信息表為例進行說明,如果返回的 權限限制信息為當前查詢者對sql解析樹所列出的人員信息表有查詢權限,但是該人員信息表中所記錄的信息中,僅李紅、王勇、劉元等人的信息可以對當前查詢者公布,或者僅年齡在30至40歲之間的人員信息可以對當前查詢者公布,則在本發明方案中,會結合上述限制信息,獲得一個限制條件,例如,姓名:李紅、王勇、劉元;年齡:30≦年齡≦40,將該限制條件作為查詢時的過濾節點。

s105、將過濾節點添加到sql解析樹上的未解決節點處生成最終sql解析樹。

在本發明實施例中,當通過s104步驟獲得過濾節點之後,需要將該過濾節點添加到sql解析樹中,以便生成一個能最終過濾掉當前查詢者非權限範圍之內的查詢內容的解析樹。

s106、根據最終sql解析樹獲得用戶的sql查詢結果。

在本發明實施例中,獲得該最終sql解析樹以後,便可以根據該最終sql解析樹對資料庫中存儲的數據進行過濾,這樣返回的查詢結果已經做了行權限控制,查詢者最終可以獲得權限範圍之內能夠得到的全部信息。

為了達到上述目的,本發明還提出了一種資料庫行權限控制系統01,該系統包括:初步解析模塊02、完善模塊03、獲取模塊04、生成模塊05、添加模塊06和結果獲取模塊07。

初步解析模塊02,用於在預設的數據權限管理系統中對用戶輸入的結構化查詢語言sql查詢語句進行初步解析,獲得含有未解決節點的sql解析樹。

完善模塊03,用於通過元數據信息完善未解決節點的信息。

獲取模塊04,用於將當前用戶信息與數據權限管理系統中預存的用戶權限信息進行比較,獲取當前用戶的權限限制信息。

生成模塊05,用於將權限限制信息與完善後的未解決節點相結合生成過濾節點。

添加模塊06,用於將過濾節點添加到sql解析樹上的未解決節點處生成最終sql解析樹。

結果獲取模塊07,用於根據最終sql解析樹獲得用戶的sql查詢結果。

優選地,未解決節點包括:需要查詢的還未得到表結構的數據表。

其中,數據表包括:人員信息表。

表結構包括:數據表中各個欄位的信息。

優選地,完善模塊03通過元數據信息完善未解決節點的信息包括:從元數據信息中獲取查詢時需要操作的數據表的表結構的信息。

優選地,生成模塊05將權限限制信息與完善後的未解決節點相結合生成過濾節點包括:

將所權限限制信息與需要查詢的數據表中的各個欄位分別進行比較,生成符合權限限制信息的各個欄位的限制範圍,將各個欄位的限制範圍作為過濾節點。

優選地,權限限制信息包括:姓名、年齡、通訊方式和職位。

與現有技術相比,本發明包括:在預設的數據權限管理系統中對用戶輸入的結構化查詢語言sql查詢語句進行初步解析,獲得含有未解決節點的sql解析樹。通過元數據信息完善未解決節點的信息。將當前用戶信息與數據權限管理系統中預存的用戶權限信息進行比較,獲取當前用戶的權限限制信息。將權限限制信息與完善後的未解決節點相結合生成過濾節點。將過濾節點添加到sql解析樹上的未解決節點處生成最終sql解析樹。根據最終sql解析樹獲得用戶的sql查詢結果。通過本發明的方案,能夠使得用戶進行數據查詢時合理限制用戶權限。

需要說明的是,以上所述的實施例僅是為了便於本領域的技術人員理解而已,並不用於限制本發明的保護範圍,在不脫離本發明的發明構思的前提下,本領域技術人員對本發明所做出的任何顯而易見的替換和改進等均在本發明的保護範圍之內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀