System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請(qǐng)涉及數(shù)據(jù)權(quán)限控制,特別是涉及一種數(shù)據(jù)權(quán)限控制方法、裝置及相關(guān)產(chǎn)品。
技術(shù)介紹
1、數(shù)據(jù)權(quán)限控制是一種重要的安全控制手段,其能夠在多用戶的系統(tǒng)中根據(jù)用戶的角色對(duì)用戶能夠訪問的數(shù)據(jù)進(jìn)行限制。在相關(guān)技術(shù)中,通常根據(jù)用戶各自的業(yè)務(wù)需求固定生成對(duì)應(yīng)的代碼語(yǔ)句,該代碼語(yǔ)句可以實(shí)現(xiàn)數(shù)據(jù)權(quán)限控制,以此在數(shù)據(jù)訪問過(guò)程中能夠基于該代碼語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)訪問。然而由于用戶的業(yè)務(wù)需求存在變更的可能,此時(shí)則需要重新生成其對(duì)應(yīng)的代碼語(yǔ)句,如此可能導(dǎo)致數(shù)據(jù)權(quán)限控制的靈活性較差。由此,如何提高數(shù)據(jù)權(quán)限控制的靈活性是本領(lǐng)域技術(shù)人員關(guān)注的重點(diǎn)問題。
技術(shù)實(shí)現(xiàn)思路
1、基于上述問題,本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)權(quán)限控制方法、裝置及相關(guān)產(chǎn)品,以提高數(shù)據(jù)權(quán)限控制的靈活性。
2、本申請(qǐng)實(shí)施例公開了如下技術(shù)方案:
3、本申請(qǐng)第一方面提供了一種數(shù)據(jù)權(quán)限控制方法。該數(shù)據(jù)權(quán)限控制方法包括:
4、獲取數(shù)據(jù)訪問方法、所述數(shù)據(jù)訪問方法下的數(shù)據(jù)訪問語(yǔ)句和訪問人員的數(shù)據(jù)訪問請(qǐng)求對(duì)應(yīng)的訪問權(quán)限信息,其中所述數(shù)據(jù)訪問方法用于根據(jù)所述數(shù)據(jù)訪問語(yǔ)句支持對(duì)于所述數(shù)據(jù)訪問請(qǐng)求的訪問;
5、對(duì)所述數(shù)據(jù)訪問方法和所述訪問權(quán)限信息進(jìn)行解析處理,獲得所述數(shù)據(jù)訪問方法中的第一訪問權(quán)限類型和第一訪問權(quán)限屬性,以及所述訪問權(quán)限信息中的第二訪問權(quán)限類型和第二訪問權(quán)限屬性;
6、若所述第一訪問權(quán)限類型和所述第二訪問權(quán)限類型相同,則根據(jù)所述第一訪問權(quán)限屬性和所述第二訪問權(quán)限屬性對(duì)所述數(shù)據(jù)訪問語(yǔ)句進(jìn)行修改處理,獲得修改后的數(shù)
7、在一種可實(shí)現(xiàn)的實(shí)施方式中,在所述對(duì)所述數(shù)據(jù)訪問方法和所述訪問權(quán)限信息進(jìn)行解析處理,獲得所述數(shù)據(jù)訪問方法中的第一訪問權(quán)限類型和第一訪問權(quán)限屬性,以及所述訪問權(quán)限信息中的第二訪問權(quán)限類型和第二訪問權(quán)限屬性之前,還包括:
8、基于攔截器對(duì)所述數(shù)據(jù)訪問方法進(jìn)行攔截處理,獲得所述數(shù)據(jù)訪問方法對(duì)應(yīng)的攔截結(jié)果;
9、所述對(duì)所述數(shù)據(jù)訪問方法和所述訪問權(quán)限信息進(jìn)行解析處理,獲得所述數(shù)據(jù)訪問方法中的第一訪問權(quán)限類型和第一訪問權(quán)限屬性,以及所述訪問權(quán)限信息中的第二訪問權(quán)限類型和第二訪問權(quán)限屬性,包括:
10、若所述數(shù)據(jù)訪問方法對(duì)應(yīng)的攔截結(jié)果指示所述數(shù)據(jù)訪問方法中存在數(shù)據(jù)權(quán)限注解,則對(duì)所述數(shù)據(jù)訪問方法進(jìn)行方法解析,獲得所述數(shù)據(jù)訪問方法中的第一數(shù)據(jù)權(quán)限類型、第一數(shù)據(jù)操作類型和第一訪問權(quán)限屬性,以及對(duì)所述訪問權(quán)限信息進(jìn)行信息解析,獲得所述訪問權(quán)限信息中的第二數(shù)據(jù)權(quán)限類型、第二數(shù)據(jù)操作類型和第二訪問權(quán)限屬性;
11、將所述數(shù)據(jù)訪問方法中的第一數(shù)據(jù)權(quán)限類型和第一數(shù)據(jù)操作類型作為所述數(shù)據(jù)訪問方法中的第一訪問權(quán)限類型,和將所述訪問權(quán)限信息中的第二數(shù)據(jù)權(quán)限類型、第二數(shù)據(jù)操作類型作為所述訪問權(quán)限信息中的第二訪問權(quán)限類型。
12、在一種可實(shí)現(xiàn)的實(shí)施方式中,所述第一訪問權(quán)限屬性包括訪問數(shù)據(jù)屬性和所述訪問數(shù)據(jù)屬性對(duì)應(yīng)的屬性值,第二訪問權(quán)限屬性包括身份權(quán)限屬性和所述身份權(quán)限屬性對(duì)應(yīng)的屬性值;
13、所述若所述第一訪問權(quán)限類型和所述第二訪問權(quán)限類型相同,則根據(jù)所述第一訪問權(quán)限屬性和所述第二訪問權(quán)限屬性對(duì)所述數(shù)據(jù)訪問語(yǔ)句進(jìn)行修改處理,獲得修改后的數(shù)據(jù)訪問語(yǔ)句,以完成數(shù)據(jù)權(quán)限控制,包括:
14、若所述第一數(shù)據(jù)權(quán)限類型和所述第二數(shù)據(jù)權(quán)限類型相同,且所述第一數(shù)據(jù)操作類型和所述第二數(shù)據(jù)操作類型相同,則對(duì)所述訪問數(shù)據(jù)屬性和所述身份權(quán)限屬性進(jìn)行轉(zhuǎn)換處理,獲得所述訪問數(shù)據(jù)屬性對(duì)應(yīng)的數(shù)據(jù)屬性占位符和所述身份權(quán)限屬性對(duì)應(yīng)的權(quán)限屬性占位符;
15、根據(jù)所述數(shù)據(jù)屬性占位符、所述訪問數(shù)據(jù)屬性對(duì)應(yīng)的屬性值、所述權(quán)限屬性占位符和所述身份權(quán)限屬性對(duì)應(yīng)的屬性值,對(duì)所述數(shù)據(jù)訪問語(yǔ)句進(jìn)行修改處理,獲得修改后的數(shù)據(jù)訪問語(yǔ)句,以完成數(shù)據(jù)權(quán)限控制。
16、在一種可實(shí)現(xiàn)的實(shí)施方式中,所述根據(jù)所述數(shù)據(jù)屬性占位符、所述訪問數(shù)據(jù)屬性對(duì)應(yīng)的屬性值、所述權(quán)限屬性占位符和所述身份權(quán)限屬性對(duì)應(yīng)的屬性值,對(duì)所述數(shù)據(jù)訪問語(yǔ)句進(jìn)行修改處理,獲得修改后的數(shù)據(jù)訪問語(yǔ)句,以完成數(shù)據(jù)權(quán)限控制,包括:
17、根據(jù)所述數(shù)據(jù)屬性占位符,確定所述數(shù)據(jù)訪問語(yǔ)句中與所述數(shù)據(jù)屬性占位符對(duì)應(yīng)的第一屬性占位符,和根據(jù)所述權(quán)限屬性占位符,確定所述數(shù)據(jù)訪問語(yǔ)句中與所述權(quán)限屬性占位符對(duì)應(yīng)的第二屬性占位符;
18、根據(jù)所述訪問數(shù)據(jù)屬性對(duì)應(yīng)的屬性值對(duì)所述第一屬性占位符進(jìn)行替換處理,獲得替換后的第一屬性占位符,和根據(jù)所述身份權(quán)限屬性對(duì)應(yīng)的屬性值對(duì)所述第二屬性占位符進(jìn)行替換處理,獲得替換后的第二屬性占位符;
19、根據(jù)所述替換后的第一屬性占位符和所述替換后的第二屬性占位符,獲得修改后的數(shù)據(jù)訪問語(yǔ)句,以完成數(shù)據(jù)權(quán)限控制。
20、在一種可實(shí)現(xiàn)的實(shí)施方式中,所述根據(jù)所述替換后的第一屬性占位符和所述替換后的第二屬性占位符,獲得修改后的數(shù)據(jù)訪問語(yǔ)句,以完成數(shù)據(jù)權(quán)限控制,包括:
21、根據(jù)所述替換后的第一屬性占位符和所述替換后的第二屬性占位符,生成數(shù)據(jù)權(quán)限字符串;
22、若所述數(shù)據(jù)訪問語(yǔ)句中存在目標(biāo)占位符,將所述數(shù)據(jù)訪問語(yǔ)句中的目標(biāo)占位符替換為所述數(shù)據(jù)權(quán)限字符串,獲得修改后的數(shù)據(jù)訪問語(yǔ)句,以完成數(shù)據(jù)權(quán)限控制;
23、或者若所述數(shù)據(jù)訪問語(yǔ)句中未存在所述目標(biāo)占位符,將所述數(shù)據(jù)權(quán)限字符串拼接在所述數(shù)據(jù)訪問語(yǔ)句后,獲得修改后的數(shù)據(jù)訪問語(yǔ)句,以完成數(shù)據(jù)權(quán)限控制。
24、在一種可實(shí)現(xiàn)的實(shí)施方式中,所述數(shù)據(jù)訪問方法包括dao方法,所述攔截器包括mybatis攔截器和hibernate攔截器,所述數(shù)據(jù)權(quán)限注解包括datapermission注解,所述目標(biāo)占位符包括data_permission_condition占位符。
25、在一種可實(shí)現(xiàn)的實(shí)施方式中,在所述獲取數(shù)據(jù)訪問方法、所述數(shù)據(jù)訪問方法下的數(shù)據(jù)訪問語(yǔ)句和訪問人員的數(shù)據(jù)訪問請(qǐng)求對(duì)應(yīng)的訪問權(quán)限信息之前,還包括:
26、獲取訪問人員提交的數(shù)據(jù)訪問請(qǐng)求;
27、所述獲取數(shù)據(jù)訪問方法、所述數(shù)據(jù)訪問方法下的數(shù)據(jù)訪問語(yǔ)句和訪問人員的數(shù)據(jù)訪問請(qǐng)求對(duì)應(yīng)的訪問權(quán)限信息,包括:
28、接收運(yùn)行人員針對(duì)于所述數(shù)據(jù)訪問請(qǐng)求提交的請(qǐng)求轉(zhuǎn)換信息,并將所述請(qǐng)求轉(zhuǎn)換信息作為所述訪問人員的數(shù)據(jù)訪問請(qǐng)求對(duì)應(yīng)的訪問權(quán)限信息;
29、接收所述運(yùn)行人員針對(duì)于所述訪問權(quán)限信息提交的數(shù)據(jù)訪問方法;
30、根據(jù)所述數(shù)據(jù)訪問方法,獲得所述數(shù)據(jù)訪問方法下的數(shù)據(jù)訪問語(yǔ)句。
31、本申請(qǐng)第二方面提供了一種數(shù)據(jù)權(quán)限控制裝置。該數(shù)據(jù)權(quán)限控制裝置包括:
32、訪問信息獲取單元,用于獲取數(shù)據(jù)訪問方法、所述數(shù)據(jù)訪問方法下的數(shù)據(jù)訪問語(yǔ)句和訪問人員的數(shù)據(jù)訪問請(qǐng)求對(duì)應(yīng)的訪問權(quán)限信息,其中所述數(shù)據(jù)訪問方法用于根據(jù)所述數(shù)據(jù)訪問語(yǔ)句支持對(duì)于所述數(shù)據(jù)訪問請(qǐng)求的訪問;
33、訪問信息解析單元,用于對(duì)所述數(shù)據(jù)訪問方法和所述訪問權(quán)限信息進(jìn)行解析處理,獲得所述數(shù)據(jù)訪問方法中的第一訪問權(quán)限類本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種數(shù)據(jù)權(quán)限控制方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述對(duì)所述數(shù)據(jù)訪問方法和所述訪問權(quán)限信息進(jìn)行解析處理,獲得所述數(shù)據(jù)訪問方法中的第一訪問權(quán)限類型和第一訪問權(quán)限屬性,以及所述訪問權(quán)限信息中的第二訪問權(quán)限類型和第二訪問權(quán)限屬性之前,還包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一訪問權(quán)限屬性包括訪問數(shù)據(jù)屬性和所述訪問數(shù)據(jù)屬性對(duì)應(yīng)的屬性值,第二訪問權(quán)限屬性包括身份權(quán)限屬性和所述身份權(quán)限屬性對(duì)應(yīng)的屬性值;
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述數(shù)據(jù)屬性占位符、所述訪問數(shù)據(jù)屬性對(duì)應(yīng)的屬性值、所述權(quán)限屬性占位符和所述身份權(quán)限屬性對(duì)應(yīng)的屬性值,對(duì)所述數(shù)據(jù)訪問語(yǔ)句進(jìn)行修改處理,獲得修改后的數(shù)據(jù)訪問語(yǔ)句,以完成數(shù)據(jù)權(quán)限控制,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述替換后的第一屬性占位符和所述替換后的第二屬性占位符,獲得修改后的數(shù)據(jù)訪問語(yǔ)句,以完成數(shù)據(jù)權(quán)限控制,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述數(shù)據(jù)訪問方法包括DAO方法,所述攔截器
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述獲取數(shù)據(jù)訪問方法、所述數(shù)據(jù)訪問方法下的數(shù)據(jù)訪問語(yǔ)句和訪問人員的數(shù)據(jù)訪問請(qǐng)求對(duì)應(yīng)的訪問權(quán)限信息之前,還包括:
8.一種數(shù)據(jù)權(quán)限控制裝置,其特征在于,包括:
9.一種計(jì)算機(jī)設(shè)備,其特征在于,包括:
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1-7所述的數(shù)據(jù)權(quán)限控制方法的步驟。
...【技術(shù)特征摘要】
1.一種數(shù)據(jù)權(quán)限控制方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述對(duì)所述數(shù)據(jù)訪問方法和所述訪問權(quán)限信息進(jìn)行解析處理,獲得所述數(shù)據(jù)訪問方法中的第一訪問權(quán)限類型和第一訪問權(quán)限屬性,以及所述訪問權(quán)限信息中的第二訪問權(quán)限類型和第二訪問權(quán)限屬性之前,還包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一訪問權(quán)限屬性包括訪問數(shù)據(jù)屬性和所述訪問數(shù)據(jù)屬性對(duì)應(yīng)的屬性值,第二訪問權(quán)限屬性包括身份權(quán)限屬性和所述身份權(quán)限屬性對(duì)應(yīng)的屬性值;
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述數(shù)據(jù)屬性占位符、所述訪問數(shù)據(jù)屬性對(duì)應(yīng)的屬性值、所述權(quán)限屬性占位符和所述身份權(quán)限屬性對(duì)應(yīng)的屬性值,對(duì)所述數(shù)據(jù)訪問語(yǔ)句進(jìn)行修改處理,獲得修改后的數(shù)據(jù)訪問語(yǔ)句,以完成數(shù)據(jù)權(quán)限控制,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述替換后的...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:羅恒全,趙赫,何光宇,
申請(qǐng)(專利權(quán))人:東軟集團(tuán)股份有限公司,
類型:發(fā)明
國(guó)別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。