本發(fā)明涉及軟件開發(fā),具體而言,涉及一種基于標(biāo)簽的授權(quán)方法和裝置。
背景技術(shù):
1、傳統(tǒng)的web開發(fā)中,前端和后端是緊密耦合的,前端直接依賴于后端提供的頁面和數(shù)據(jù)接口,而微服務(wù)下的前后端分離架構(gòu)實(shí)踐中,業(yè)務(wù)拆分和技術(shù)整合在操作細(xì)節(jié)上與原來的方式有較大的區(qū)別:按照系統(tǒng)功能界面與restful接口的調(diào)用關(guān)系來看,存在一個(gè)界面調(diào)用多個(gè)微服務(wù)接口、一個(gè)功能需要多個(gè)微服務(wù)接口組合實(shí)現(xiàn)的情況。這種情形的出現(xiàn),使得接口和接口組合關(guān)系的數(shù)量大幅度增加,以及按照業(yè)務(wù)功能進(jìn)行接口權(quán)限控制的不確定現(xiàn)象的也大幅度增加,同時(shí)還會(huì)出現(xiàn)業(yè)務(wù)功能與微服務(wù)接口比較復(fù)雜的調(diào)用關(guān)系導(dǎo)致的授權(quán)管理和控制的難度大幅增加,從而出現(xiàn)微服務(wù)模式下的界面功能與服務(wù)調(diào)用關(guān)系的一致性、授權(quán)控制的準(zhǔn)確性和效率降低的情況。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種基于標(biāo)簽的授權(quán)方法和裝置,其能夠?qū)崿F(xiàn)微服務(wù)模式下的界面功能與服務(wù)調(diào)用關(guān)系的統(tǒng)一,以及實(shí)現(xiàn)精準(zhǔn)可靠、靈活可控的權(quán)限管理,顯著提高授權(quán)控制的準(zhǔn)確性和效率。
2、本發(fā)明的技術(shù)方案為:
3、第一方面,本申請?zhí)峁┮环N基于標(biāo)簽的授權(quán)方法,其包括以下步驟:
4、s1、按配置采集url請求的相關(guān)鍵值構(gòu)建一級(jí)標(biāo)簽;
5、s2、通過將一級(jí)標(biāo)簽功能化后形成二級(jí)標(biāo)簽;
6、s3、將二級(jí)標(biāo)簽與用戶授權(quán)數(shù)據(jù)進(jìn)行匹配,按功能和用戶權(quán)限進(jìn)行合并編碼以形成三級(jí)標(biāo)簽;
7、s4、利用session鍵值將當(dāng)前用戶權(quán)限調(diào)出,并將當(dāng)前用戶權(quán)限按照三級(jí)標(biāo)簽的方式進(jìn)行編排和統(tǒng)一編號(hào)以形成組合標(biāo)簽;
8、s5、根據(jù)當(dāng)前用戶訪問的url定位其組合標(biāo)簽以獲取功能權(quán)限,通過當(dāng)前用戶的功能權(quán)限完成授權(quán)控制。
9、進(jìn)一步地,步驟s1中,上述url請求的相關(guān)鍵值包括基本字段、關(guān)鍵字和系統(tǒng)定義管理的相關(guān)屬性值。
10、進(jìn)一步地,步驟s2中,上述將一級(jí)標(biāo)簽功能化的過程包括:采用表達(dá)式方式構(gòu)建動(dòng)態(tài)標(biāo)簽,并將動(dòng)態(tài)標(biāo)簽與一級(jí)標(biāo)簽進(jìn)行整合和簡化,剔除重復(fù)和無效的標(biāo)簽后,按業(yè)務(wù)功能和分類構(gòu)建得到二級(jí)標(biāo)簽。
11、進(jìn)一步地,步驟s3中,上述按功能和用戶權(quán)限進(jìn)行合并編碼的過程包括:將用戶角色相關(guān)屬性及用戶權(quán)限納入標(biāo)簽序列,在二級(jí)標(biāo)簽的基礎(chǔ)上以組合的方式按功能對(duì)標(biāo)簽序列進(jìn)行編排形成三級(jí)標(biāo)簽。
12、進(jìn)一步地,步驟s5中,在根據(jù)當(dāng)前用戶訪問的url定位其組合標(biāo)簽以獲取功能權(quán)限之前,還包括:按照當(dāng)前用戶訪問url與三級(jí)標(biāo)簽進(jìn)行匹配,并通過組合標(biāo)簽對(duì)用戶匹配到的三級(jí)標(biāo)簽進(jìn)行過濾以獲取當(dāng)前用戶的功能權(quán)限,完成授權(quán)控制。
13、進(jìn)一步地,上述授權(quán)控制的過程包括:按照用戶登錄系統(tǒng)時(shí)以session的緩沖方式進(jìn)行序列化的含用戶權(quán)限控制屬性的權(quán)限集編碼對(duì)用戶的功能權(quán)限進(jìn)行授權(quán)匹配,以實(shí)現(xiàn)授權(quán)控制。
14、第二方面,本申請?zhí)峁┮环N基于標(biāo)簽的授權(quán)裝置,其包括:
15、標(biāo)簽采集模塊,用于按配置采集url請求的相關(guān)鍵值構(gòu)建一級(jí)標(biāo)簽;
16、標(biāo)簽構(gòu)建模塊,用于通過將一級(jí)標(biāo)簽功能化后形成二級(jí)標(biāo)簽;
17、標(biāo)簽整合模塊,用于將二級(jí)標(biāo)簽與用戶授權(quán)數(shù)據(jù)進(jìn)行匹配,按功能和用戶權(quán)限進(jìn)行合并編碼以形成三級(jí)標(biāo)簽;
18、標(biāo)簽編排模塊,用于利用session鍵值將當(dāng)前用戶權(quán)限調(diào)出,并將當(dāng)前用戶權(quán)限按照三級(jí)標(biāo)簽的方式進(jìn)行編排和統(tǒng)一編號(hào)以形成組合標(biāo)簽;
19、授權(quán)控制模塊,用于根據(jù)當(dāng)前用戶訪問的url定位其組合標(biāo)簽以獲取功能權(quán)限,通過當(dāng)前用戶的功能權(quán)限完成授權(quán)控制。
20、第三方面,本申請?zhí)峁┮环N電子設(shè)備,包括:
21、存儲(chǔ)器,用于存儲(chǔ)一個(gè)或多個(gè)程序;
22、處理器;
23、當(dāng)上述一個(gè)或多個(gè)程序被上述處理器執(zhí)行時(shí),實(shí)現(xiàn)如上述第一方面中任一項(xiàng)的一種基于標(biāo)簽的授權(quán)方法。
24、第四方面,本申請?zhí)峁┮环N計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述第一方面中任一項(xiàng)的一種基于標(biāo)簽的授權(quán)方法。
25、相對(duì)于現(xiàn)有技術(shù),本發(fā)明至少具有如下優(yōu)點(diǎn)或有益效果:
26、(1)本發(fā)明提供的一種基于標(biāo)簽的授權(quán)方法和裝置,采用三級(jí)動(dòng)態(tài)標(biāo)簽的分類編排方式,在整合動(dòng)態(tài)標(biāo)簽的基礎(chǔ)上,實(shí)現(xiàn)標(biāo)簽與授權(quán)屬性與角色的統(tǒng)一編碼和編排,顯著提高了授權(quán)的高效性;
27、(2)本發(fā)明在抽離具體功能的前提下,整合動(dòng)態(tài)處理能力,使用表達(dá)式實(shí)現(xiàn)與業(yè)務(wù)邏輯的分離,?在實(shí)現(xiàn)微服務(wù)向業(yè)務(wù)功能梳理的情況下,簡化了授權(quán)控制邏輯,提高了授權(quán)控制效率,以高精度方式在實(shí)現(xiàn)系統(tǒng)功能權(quán)限的控制基礎(chǔ)上,實(shí)現(xiàn)了系統(tǒng)數(shù)據(jù)和業(yè)務(wù)權(quán)限的自定義控制;
28、(3)本發(fā)明通過當(dāng)前用戶訪問的url定位其組合標(biāo)簽獲取功能權(quán)限完成授權(quán)控制,實(shí)現(xiàn)微服務(wù)模式下的界面功能與服務(wù)調(diào)用關(guān)系的統(tǒng)一,以及實(shí)現(xiàn)精準(zhǔn)可靠、靈活可控的權(quán)限管理,顯著提高了授權(quán)控制的準(zhǔn)確性和效率。
1.一種基于標(biāo)簽的授權(quán)方法,其特征在于,包括以下步驟:
2.如權(quán)利要求1所述的一種基于標(biāo)簽的授權(quán)方法,其特征在于,步驟s1中,所述url請求的相關(guān)鍵值包括基本字段、關(guān)鍵字和系統(tǒng)定義管理的相關(guān)屬性值。
3.如權(quán)利要求1所述的一種基于標(biāo)簽的授權(quán)方法,其特征在于,步驟s2中,所述將一級(jí)標(biāo)簽功能化的過程包括:采用表達(dá)式方式構(gòu)建動(dòng)態(tài)標(biāo)簽,并將動(dòng)態(tài)標(biāo)簽與一級(jí)標(biāo)簽進(jìn)行整合和簡化,剔除重復(fù)和無效的標(biāo)簽后,按業(yè)務(wù)功能和分類構(gòu)建得到二級(jí)標(biāo)簽。
4.如權(quán)利要求1所述的一種基于標(biāo)簽的授權(quán)方法,其特征在于,步驟s3中,所述按功能和用戶權(quán)限進(jìn)行合并編碼的過程包括:將用戶角色相關(guān)屬性及用戶權(quán)限納入標(biāo)簽序列,在二級(jí)標(biāo)簽的基礎(chǔ)上以組合的方式按功能對(duì)標(biāo)簽序列進(jìn)行編排形成三級(jí)標(biāo)簽。
5.如權(quán)利要求1所述的一種基于標(biāo)簽的授權(quán)方法,其特征在于,步驟s5中,在根據(jù)當(dāng)前用戶訪問的url定位其組合標(biāo)簽以獲取功能權(quán)限之前,還包括:按照當(dāng)前用戶訪問url與三級(jí)標(biāo)簽進(jìn)行匹配,并通過組合標(biāo)簽對(duì)用戶匹配到的三級(jí)標(biāo)簽進(jìn)行過濾以獲取當(dāng)前用戶的功能權(quán)限,完成授權(quán)控制。
6.如權(quán)利要求5所述的一種基于標(biāo)簽的授權(quán)方法,其特征在于,所述授權(quán)控制的過程包括:按照用戶登錄系統(tǒng)時(shí)以session的緩沖方式進(jìn)行序列化的含用戶權(quán)限控制屬性的權(quán)限集編碼對(duì)用戶的功能權(quán)限進(jìn)行授權(quán)匹配,以實(shí)現(xiàn)授權(quán)控制。
7.一種基于標(biāo)簽的授權(quán)裝置,其特征在于,包括:
8.一種電子設(shè)備,其特征在于,包括:
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-6中任一項(xiàng)所述的一種基于標(biāo)簽的授權(quán)方法。