System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及數據管理,特別是涉及一種基于管理權限的查詢控制方法、裝置、計算機設備和介質。
技術介紹
1、傳統的數據權限控制通常基于較為簡單的模型,如訪問控制列表(acl)或早期的基于角色的訪問控制(rbac)模型。這些模型的特點是相對靜態和粗粒度的權限分配。以rbac模型為例,為每個角色設置不同的權限范圍,然后將一個或多個角色分配給用戶,從而根據用戶的角色確定用戶的權限范圍。
2、隨著業務需求的復雜化和數據安全意識的提升,傳統的數據權限控制存在明顯的局限性。特別是,粗略的數據權限控制已經無法滿足對數據安全的高要求,并且,按照傳統的數據權限控制策略所生成的查詢語句復雜且冗余,查詢效率低下。
技術實現思路
1、為了解決上述技術問題,本申請提供一種基于管理權限的查詢控制方法、裝置、計算機設備和介質。
2、第一方面,本申請提供一種查詢控制方法,所述方法包括:
3、獲取查詢請求;
4、解析所述查詢請求得到權限控制字段、查詢條件集合、預設條件連接方式、查詢者信息和初始查詢語句;
5、若所述查詢條件集合中包括管理權限查詢條件,根據所述查詢者信息和所述管理權限查詢條件,獲取所述管理權限查詢條件對應的管理用戶信息集合;
6、基于所述預設條件連接方式,從所述管理用戶信息集合中確定查詢者此次查詢有權訪問的目標用戶信息集合;
7、根據所述權限控制字段、所述目標用戶信息集合和所述查詢條件集合,生成查詢條件語句;
8
9、使用所述目標查詢語句替換所述查詢請求中的所述初始查詢語句,并將所述查詢請求發送至目標數據庫。
10、在一個實施例中,若所述查詢條件集合中包括多個所述管理權限查詢條件,所述從所述管理用戶信息集合中確定查詢者此次查詢有權訪問的目標用戶信息集合的步驟包括:
11、根據所述預設條件連接方式確定用戶信息合并方式;
12、按照所述用戶信息合并方式,將多個所述管理權限查詢條件分別對應的所述管理用戶信息集合進行合并,得到所述目標用戶信息集合。
13、在一個實施例中,所述根據所述權限控制字段、所述目標用戶信息集合和所述查詢條件集合,生成查詢條件語句的步驟包括:
14、根據所述目標用戶信息集合和所述權限控制字段,生成權限限制條件語句;
15、根據所述查詢條件集合生成常規條件語句;
16、根據所述權限限制條件語句和所述常規條件語句,拼接得到所述查詢條件語句。
17、在一個實施例中,所述根據所述查詢條件集合生成常規條件語句的步驟包括:
18、若所述查詢條件集合中包括一個查詢條件,根據所述查詢條件生成所述常規條件語句;
19、若所述查詢條件集合中包括多個所述查詢條件,對于所述查詢條件集合中的所述查詢條件,分別生成對應的條件子句,并拼接多個所述條件子句得到所述常規條件語句。
20、在一個實施例中,所述獲取所述管理權限查詢條件對應的管理用戶信息集合的步驟包括:
21、獲取所述管理權限查詢條件對應的管理角色信息集合;
22、根據所述查詢者信息和所述管理權限查詢條件,獲取查詢使用角色信息;
23、基于所述查詢使用角色信息,從所述管理角色信息集合中確定出所述目標角色信息集合;
24、基于用戶信息和角色信息的預設對應關系,根據所述目標角色信息集合獲取所述管理權限查詢條件對應的所述管理用戶信息集合。
25、在一個實施例中,所述從所述管理角色信息集合中確定出所述目標角色信息集合的步驟包括:
26、根據所述查詢使用角色信息獲取所述查詢者的權限類型和權限等級;
27、若所述權限類型為管理用戶權限,根據所述權限等級從所述管理角色信息集合中確定出所述目標角色信息集合;
28、若所述權限類型為普通用戶權限,確定所述目標角色信息集合包括所述查詢使用角色信息。
29、在一個實施例中,所述獲取查詢請求的步驟包括:
30、攔截客戶端的應用程序向服務器端發出的所述查詢請求;
31、所述將所述查詢請求發送至目標數據庫的步驟包括:
32、將所述查詢請求發送至設于所述服務器端的所述目標服務器。
33、第二方面,本申請提供一種查詢控制裝置,所述裝置包括:
34、請求獲取模塊,用于獲取查詢請求;
35、請求解析模塊,用于解析所述查詢請求得到權限控制字段、查詢條件集合、預設條件連接方式、查詢者信息和初始查詢語句;
36、權限查詢模塊,用于若所述查詢條件集合中包括管理權限查詢條件,根據所述查詢者信息和所述管理權限查詢條件,獲取所述管理權限查詢條件對應的管理用戶信息集合;
37、權限縮限模塊,用于基于所述預設條件連接方式,從所述管理用戶信息集合中確定查詢者此次查詢有權訪問的目標用戶信息集合;
38、條件語句生成模塊,用于根據所述權限控制字段、所述目標用戶信息集合和所述查詢條件集合,生成查詢條件語句;
39、查詢語句生成模塊,用于拼接所述初始查詢語句和所述查詢條件語句,生成目標查詢語句;
40、請求發送模塊,用于使用所述目標查詢語句替換所述查詢請求中的所述初始查詢語句,并將所述查詢請求發送至目標數據庫。
41、在一個實施例中,若所述查詢條件集合中包括多個所述管理權限查詢條件,所述權限縮限模塊用于:
42、根據所述預設條件連接方式確定用戶信息合并方式;
43、按照所述用戶信息合并方式,將多個所述管理權限查詢條件分別對應的所述管理用戶信息集合進行合并,得到所述目標用戶信息集合。
44、所述條件語句生成模塊包括:
45、權限限制條件單元,用于根據所述目標用戶信息集合和所述權限控制字段,生成權限限制條件語句;
46、常規條件單元,用于根據所述查詢條件集合生成常規條件語句;
47、條件語句拼接單元,用于根據所述權限限制條件語句和所述常規條件語句,拼接得到所述查詢條件語句。
48、在一個實施例中,所述常規條件單元用于:
49、若所述查詢條件集合中包括一個查詢條件,根據所述查詢條件生成所述常規條件語句;
50、若所述查詢條件集合中包括多個所述查詢條件,對于所述查詢條件集合中的所述查詢條件,分別生成對應的條件子句,并拼接多個所述條件子句得到所述常規條件語句。
51、在一個實施例中,所述權限查詢模塊包括:
52、角色權限獲取單元,用于獲取所述管理權限查詢條件對應的管理角色信息集合;
53、查詢者角色獲取單元,用于根據所述查詢者信息和所述管理權限查詢條件,獲取查詢使用角色信息;
54、目標角色確定單元,用于基于所述查詢使用角本文檔來自技高網...
【技術保護點】
1.一種基于管理權限的查詢控制方法,其特征在于,包括:
2.如權利要求1所述的查詢控制方法,其特征在于,若所述查詢條件集合中包括多個所述管理權限查詢條件,所述從所述管理用戶信息集合中確定查詢者此次查詢有權訪問的目標用戶信息集合的步驟包括:
3.如權利要求1所述的查詢控制方法,其特征在于,所述根據所述權限控制字段、所述目標用戶信息集合和所述查詢條件集合,生成查詢條件語句的步驟包括:
4.如權利要求3所述的查詢控制方法,其特征在于,所述根據所述查詢條件集合生成常規條件語句的步驟包括:
5.如權利要求1所述的查詢控制方法,其特征在于,所述獲取所述管理權限查詢條件對應的管理用戶信息集合的步驟包括:
6.如權利要求5所述的查詢控制方法,其特征在于,所述從所述管理角色信息集合中確定出所述目標角色信息集合的步驟包括:
7.如權利要求1-6中任一項所述的查詢控制方法,其特征在于,所述獲取查詢請求的步驟包括:
8.一種基于管理權限的查詢控制裝置,其特征在于,所述查詢控制裝置包括:
9.一種計算機設備,包
10.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時,實現權利要求1至7中任一項所述方法的步驟。
...【技術特征摘要】
1.一種基于管理權限的查詢控制方法,其特征在于,包括:
2.如權利要求1所述的查詢控制方法,其特征在于,若所述查詢條件集合中包括多個所述管理權限查詢條件,所述從所述管理用戶信息集合中確定查詢者此次查詢有權訪問的目標用戶信息集合的步驟包括:
3.如權利要求1所述的查詢控制方法,其特征在于,所述根據所述權限控制字段、所述目標用戶信息集合和所述查詢條件集合,生成查詢條件語句的步驟包括:
4.如權利要求3所述的查詢控制方法,其特征在于,所述根據所述查詢條件集合生成常規條件語句的步驟包括:
5.如權利要求1所述的查詢控制方法,其特征在于,所述獲取所述管理權限查詢條件對應的管理用戶信息集合的步驟包括:
【專利技術屬性】
技術研發人員:周祥,涂恒強,張其,何浩,
申請(專利權)人:賽力斯汽車有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。