本申請涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種鑒權(quán)方法及裝置、一種鑒權(quán)碼的生成方法及裝置以及一種鑒權(quán)系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)、計(jì)算機(jī)和應(yīng)用程序的發(fā)展,出現(xiàn)了各種互聯(lián)網(wǎng)業(yè)務(wù)(簡稱業(yè)務(wù)),用戶可以通過計(jì)算機(jī)中的應(yīng)用程序在互聯(lián)網(wǎng)中請求并完成業(yè)務(wù)。但是并非只要接入到互聯(lián)網(wǎng)中的計(jì)算機(jī)就可以隨意完成各種業(yè)務(wù),換句話說,對于某個(gè)業(yè)務(wù)而言,并非只要接入到互聯(lián)網(wǎng)中就有權(quán)請求、完成,這就出現(xiàn)了鑒權(quán)機(jī)制,鑒權(quán)是指驗(yàn)證(鑒別)用戶是否擁有請求完成業(yè)務(wù)的權(quán)限。比如,業(yè)務(wù)通過用戶在應(yīng)用程序中輸入的密碼進(jìn)行鑒權(quán);通過用戶的地理位置進(jìn)行鑒權(quán)等。
現(xiàn)有技術(shù)如圖1所示,僅能針對一個(gè)鑒權(quán)屬性進(jìn)行鑒權(quán),比如,僅針對密碼這一鑒權(quán)屬性進(jìn)行鑒權(quán),僅針對地理位置這一鑒權(quán)屬性進(jìn)行鑒權(quán),也就是在用戶請求互聯(lián)網(wǎng)業(yè)務(wù)時(shí),只要輸入的密碼可以通過鑒權(quán),就可以請求該業(yè)務(wù);或者只要用戶所處的地理位置滿足鑒權(quán)要求,該用戶就可以請求該業(yè)務(wù)。但是隨著互聯(lián)網(wǎng)的發(fā)展,通過單一鑒權(quán)屬性進(jìn)行粗粒度的權(quán)限控制已經(jīng)無法滿足鑒權(quán)需求,更多的是需要通過多個(gè)鑒權(quán)屬性進(jìn)行細(xì)粒度的權(quán)限控制,所以現(xiàn)有技術(shù)中無法進(jìn)行細(xì)粒度的鑒權(quán)成為亟待解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本申請實(shí)施例提供一種鑒權(quán)方法,用于在互聯(lián)網(wǎng)業(yè)務(wù)中進(jìn)行細(xì)粒度地控制權(quán)限。
本申請實(shí)施例提供一種鑒權(quán)裝置,用于在互聯(lián)網(wǎng)業(yè)務(wù)中進(jìn)行細(xì)粒度地控制權(quán)限。
本申請實(shí)施例提供一種鑒權(quán)碼的生成方法,用于提高鑒權(quán)過程的安全性。
本申請實(shí)施例提供一種鑒權(quán)碼的生成裝置,用于提高鑒權(quán)過程的安全性。
本申請實(shí)施例提供一種鑒權(quán)系統(tǒng),用于在互聯(lián)網(wǎng)業(yè)務(wù)中進(jìn)行細(xì)粒度地控制權(quán)限,并且提高鑒權(quán)過程的安全性。
本申請實(shí)施例采用下述技術(shù)方案:
一種鑒權(quán)方法,包括:
獲取第一鑒權(quán)屬性值集合以及對應(yīng)的鑒權(quán)屬性集合,所述鑒權(quán)屬性集合中包含至少兩個(gè)鑒權(quán)屬性;
根據(jù)所述鑒權(quán)屬性集合,獲取第二鑒權(quán)屬性值集合;
根據(jù)所述第一鑒權(quán)屬性值集合與所述第二鑒權(quán)屬性值集合的匹配結(jié)果,進(jìn)行鑒權(quán)。
優(yōu)選地,獲取第一鑒權(quán)屬性值集合以及對應(yīng)的鑒權(quán)屬性集合,包括:
獲取第一鑒權(quán)碼、鑒權(quán)碼生成規(guī)則以及對應(yīng)的鑒權(quán)屬性集合,所述第一鑒權(quán)碼根據(jù)所述第一鑒權(quán)屬性值集合以及所述鑒權(quán)碼生成規(guī)則生成;則
所述方法具體包括:
根據(jù)所述鑒權(quán)屬性集合,從第二終端中獲取第二鑒權(quán)屬性值集合;
根據(jù)所述第二鑒權(quán)屬性值集合以及所述鑒權(quán)碼生成規(guī)則生成第二鑒權(quán)碼;
根據(jù)所述第一鑒權(quán)碼與所述第二鑒權(quán)碼的匹配結(jié)果,進(jìn)行鑒權(quán)。
優(yōu)選地,獲取第一鑒權(quán)碼、鑒權(quán)碼生成方法以及對應(yīng)的鑒權(quán)屬性集合,包括:
獲取鑒權(quán)信息;
對所述鑒權(quán)信息進(jìn)行解析,確定第一鑒權(quán)碼以及業(yè)務(wù)標(biāo)識(shí);
根據(jù)所述業(yè)務(wù)標(biāo)識(shí),獲取鑒權(quán)碼生成方法以及對應(yīng)的鑒權(quán)屬性集合。
優(yōu)選地,獲取第一鑒權(quán)碼、鑒權(quán)碼生成方法以及對應(yīng)的鑒權(quán)屬性集合,包括:
獲取第一鑒權(quán)碼、鑒權(quán)碼生成方法、排序信息以及對應(yīng)的鑒權(quán)屬性集合,所述第一鑒權(quán)碼根據(jù)所述第一鑒權(quán)屬性值集合、所述排序信息以及所述鑒權(quán)碼生成方法生成;則
所述方法具體包括:
根據(jù)所述鑒權(quán)屬性集合,獲取終端中的第二鑒權(quán)屬性值集合;
根據(jù)所述第二鑒權(quán)屬性值集合、所述排序信息以及所述鑒權(quán)碼生成規(guī)則生成第二鑒權(quán)碼;
根據(jù)所述第一鑒權(quán)碼與所述第二鑒權(quán)碼的匹配結(jié)果,進(jìn)行鑒權(quán)。
優(yōu)選地,所述鑒權(quán)信息為令牌token。
優(yōu)選地,所述鑒權(quán)碼生成規(guī)則為摘要算法。
一種鑒權(quán)裝置,包括:第一獲取單元、第二獲取單元以及鑒權(quán)單元,其中,
所述第一獲取單元,獲取第一鑒權(quán)屬性值集合以及對應(yīng)的鑒權(quán)屬性集合,所述鑒權(quán)屬性集合中包含至少兩個(gè)鑒權(quán)屬性;
所述第二獲取單元,根據(jù)所述鑒權(quán)屬性集合,獲取第二鑒權(quán)屬性值集合;
所述鑒權(quán)單元,根據(jù)所述第一鑒權(quán)屬性值集合與所述第二鑒權(quán)屬性值集合的匹配結(jié)果,進(jìn)行鑒權(quán)。
優(yōu)選地,所述第一獲取單元,獲取第一鑒權(quán)碼、鑒權(quán)碼生成規(guī)則以及對應(yīng)的鑒權(quán)屬性集合,所述第一鑒權(quán)碼根據(jù)所述第一鑒權(quán)屬性值集合以及所述鑒權(quán)碼生成規(guī)則生成;
則所述第二獲取單元,
根據(jù)所述鑒權(quán)屬性集合,從第二終端中獲取第二鑒權(quán)屬性值集合;
根據(jù)所述第二鑒權(quán)屬性值集合以及所述鑒權(quán)碼生成規(guī)則生成第二鑒權(quán)碼;
所述鑒權(quán)單元,根據(jù)所述第一鑒權(quán)碼與所述第二鑒權(quán)碼的匹配結(jié)果,進(jìn)行鑒權(quán)。
優(yōu)選地,所述第一獲取單元,
獲取鑒權(quán)信息;
對所述鑒權(quán)信息進(jìn)行解析,確定第一鑒權(quán)碼以及業(yè)務(wù)標(biāo)識(shí);
根據(jù)所述業(yè)務(wù)標(biāo)識(shí),獲取鑒權(quán)碼生成方法以及對應(yīng)的鑒權(quán)屬性集合。
優(yōu)選地,所述第一獲取單元,獲取第一鑒權(quán)碼、鑒權(quán)碼生成方法、排序信息以及對應(yīng)的鑒權(quán)屬性集合,所述第一鑒權(quán)碼根據(jù)所述第一鑒權(quán)屬性值集合、所述排序信息以及所述鑒權(quán)碼生成方法生成;
則所述第二獲取單元,
根據(jù)所述鑒權(quán)屬性集合,獲取終端中的第二鑒權(quán)屬性值集合;
根據(jù)所述第二鑒權(quán)屬性值集合、所述排序信息以及所述鑒權(quán)碼生成規(guī)則生成第二鑒權(quán)碼;
所述鑒權(quán)單元,根據(jù)所述第一鑒權(quán)碼與所述第二鑒權(quán)碼的匹配結(jié)果,進(jìn)行鑒權(quán)。
一種鑒權(quán)碼的生成方法,包括:
獲取鑒權(quán)屬性值集合、以及鑒權(quán)碼生成規(guī)則;
根據(jù)所述鑒權(quán)屬性值集合,通過所述鑒權(quán)碼生成規(guī)則,生成鑒權(quán)碼。
優(yōu)選地,所述方法還包括:
獲取所述鑒權(quán)屬性值集合對應(yīng)的業(yè)務(wù)標(biāo)識(shí);
根據(jù)所述業(yè)務(wù)標(biāo)識(shí)以及所述鑒權(quán)碼,生成鑒權(quán)信息。
優(yōu)選地,獲取鑒權(quán)屬性值集合、以及鑒權(quán)碼生成規(guī)則,包括:
獲取鑒權(quán)屬性值集合、排序信息以及鑒權(quán)碼生成規(guī)則;則
根據(jù)所述鑒權(quán)屬性值集合,通過所述鑒權(quán)碼生成規(guī)則,生成鑒權(quán)碼,包括:
根據(jù)所述排序信息,將所述鑒權(quán)屬性值集合中的各鑒權(quán)屬性值進(jìn)行排序;
將排序后的鑒權(quán)屬性值集合,通過所述鑒權(quán)碼生成規(guī)則,生成鑒權(quán)碼。
一種鑒權(quán)碼的生成裝置,包括:獲取單元以及生成單元,其中,
所述獲取單元,獲取鑒權(quán)屬性值集合、以及鑒權(quán)碼生成規(guī)則;
所述生成單元,根據(jù)所述鑒權(quán)屬性值集合,通過所述鑒權(quán)碼生成規(guī)則,生成鑒權(quán)碼。
優(yōu)選地,所述生成單元,
獲取所述鑒權(quán)屬性值集合對應(yīng)的業(yè)務(wù)標(biāo)識(shí);
根據(jù)所述業(yè)務(wù)標(biāo)識(shí)以及所述鑒權(quán)碼生成規(guī)則,生成鑒權(quán)信息。
優(yōu)選地,所述獲取單元,
獲取鑒權(quán)屬性值集合、排序信息以及鑒權(quán)碼生成規(guī)則;
則所述生成單元,
根據(jù)所述排序信息,將所述鑒權(quán)屬性值集合中的各鑒權(quán)屬性值進(jìn)行排序;
將排序后的鑒權(quán)屬性值集合,通過所述鑒權(quán)碼生成規(guī)則,生成鑒權(quán)碼。
一種鑒權(quán)系統(tǒng),包括:
所述第一終端,
獲取第一鑒權(quán)屬性值集合、以及鑒權(quán)碼生成規(guī)則;
根據(jù)所述鑒權(quán)屬性值集合,通過所述鑒權(quán)碼生成規(guī)則,生成第一鑒權(quán)碼;
所述第二終端,
獲取所述第一鑒權(quán)碼、所述鑒權(quán)碼生成規(guī)則以及對應(yīng)的鑒權(quán)屬性集合;
根據(jù)所述鑒權(quán)屬性集合,從所述第二終端中獲取第二鑒權(quán)屬性值集合;
根據(jù)所述第二鑒權(quán)屬性值集合以及所述鑒權(quán)碼生成規(guī)則生成第二鑒權(quán)碼;
根據(jù)所述第一鑒權(quán)碼與所述第二鑒權(quán)碼的匹配結(jié)果,進(jìn)行鑒權(quán)。
優(yōu)選地,所述第一終端,
獲取第一鑒權(quán)屬性值集合、排序信息以及鑒權(quán)碼生成規(guī)則;
根據(jù)所述排序信息,將所述第一鑒權(quán)屬性值集合中的各鑒權(quán)屬性值進(jìn)行排序;
將排序后的第一鑒權(quán)屬性值集合,通過所述鑒權(quán)碼生成規(guī)則,生成第一鑒權(quán)碼;
所述第二終端,
獲取所述第一鑒權(quán)碼、所述鑒權(quán)碼生成規(guī)則、所述排序信息以及對應(yīng)的鑒權(quán)屬性集合;
根據(jù)所述鑒權(quán)屬性集合,從所述第二終端中獲取第二鑒權(quán)屬性值集合;
根據(jù)所述第二鑒權(quán)屬性值集合、所述排序信息以及所述鑒權(quán)碼生成規(guī)則生成第二鑒權(quán)碼。
優(yōu)選地,所述第一終端,
獲取所述鑒權(quán)屬性值集合對應(yīng)的業(yè)務(wù)標(biāo)識(shí);
根據(jù)所述業(yè)務(wù)標(biāo)識(shí)以及所述第一鑒權(quán)碼,生成鑒權(quán)信息;
所述第二終端,
獲取鑒權(quán)信息;
對所述鑒權(quán)信息進(jìn)行解析,確定第一鑒權(quán)碼以及業(yè)務(wù)標(biāo)識(shí);
根據(jù)所述業(yè)務(wù)標(biāo)識(shí),獲取鑒權(quán)碼生成規(guī)則以及對應(yīng)的鑒權(quán)屬性集合。
本申請實(shí)施例采用的上述至少一個(gè)技術(shù)方案能夠達(dá)到以下有益效果:在進(jìn)行鑒權(quán)時(shí),先獲取包含至少兩個(gè)鑒權(quán)屬性值的第一鑒權(quán)屬性值集合以及對應(yīng)的鑒權(quán)屬性集合,再根據(jù)鑒權(quán)屬性獲取第二鑒權(quán)屬性值集合,最終根據(jù)兩種鑒權(quán)屬性值集合的匹配結(jié)果進(jìn)行鑒權(quán),通過至少兩個(gè)鑒權(quán)屬性值,實(shí)現(xiàn)細(xì)粒度的權(quán)限控制,解決了現(xiàn)有技術(shù)僅針對一個(gè)鑒權(quán)屬性進(jìn)行鑒權(quán)導(dǎo)致的鑒權(quán)控制粒度較粗的問題。
附圖說明
此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實(shí)施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
圖1為本現(xiàn)有技術(shù)的鑒權(quán)方法的示意圖;
圖2為本申請實(shí)施例1提供的鑒權(quán)方法的流程示意圖;
圖3為本申請實(shí)施例3提供的鑒權(quán)方法的示意圖;
圖4為本申請實(shí)施例2提供的鑒權(quán)方法的流程示意圖;
圖5為本申請實(shí)施例2提供的鑒權(quán)方法的示意圖;
圖6為本申請實(shí)施例2提供的token的示意圖;
圖7為本申請實(shí)施例2提供的生成token的示意圖;
圖8為本申請實(shí)施例3提供的鑒權(quán)碼生成方法的流程示意圖;
圖9為本申請實(shí)施例3提供的鑒權(quán)方法的流程示意圖;
圖10為本申請實(shí)施例3提供的根據(jù)業(yè)務(wù)標(biāo)識(shí),獲取鑒權(quán)碼生成規(guī)則、排序信息以及對應(yīng)的鑒權(quán)屬性集合的示意圖;
圖11為本申請實(shí)施例3提供的鑒權(quán)方法的示意圖;
圖12為本申請實(shí)施例4提供的鑒權(quán)裝置的結(jié)構(gòu)框圖;
圖13為本申請實(shí)施例5提供的鑒權(quán)碼的生成裝置的結(jié)構(gòu)框圖;
圖14為本申請實(shí)施例6提供的鑒權(quán)系統(tǒng)的示意圖;
圖15為本申請實(shí)施例6提供的鑒權(quán)系統(tǒng)中服務(wù)器的示意圖;
圖16為本申請實(shí)施例6提供的鑒權(quán)系統(tǒng)中客戶端的示意圖。
具體實(shí)施方式
為使本申請的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請具體實(shí)施例及相應(yīng)的附圖對本申請技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾堉械膶?shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。
以下結(jié)合附圖,詳細(xì)說明本申請各實(shí)施例提供的技術(shù)方案。
實(shí)施例1
如前所述,現(xiàn)有技術(shù)僅能通過單一鑒權(quán)屬性進(jìn)行比較粗粒度的鑒權(quán),比如,只能通過用戶名和密碼是否匹配進(jìn)行鑒權(quán),此時(shí)只要用戶根據(jù)用戶名輸入的密碼與用戶名匹配就可以通過鑒權(quán);又如,只能通過用戶終端所處地理位置與預(yù)設(shè)地理位置是否匹配進(jìn)行鑒權(quán),此時(shí)只要用戶終端處于預(yù)設(shè)地理位置就可以通過鑒權(quán),但是這種“粗獷”的鑒權(quán)方法已經(jīng)無法滿足目前的鑒權(quán)需求,業(yè)務(wù)方既希望通過地理位置進(jìn)行鑒權(quán)又希望通過時(shí)間鑒權(quán),比如,要求終端所處地理位置與預(yù)設(shè)地理位置匹配,還希望所處時(shí)間與預(yù)設(shè)時(shí)間段匹配,又如,再次基礎(chǔ)上,還希望通過用戶終端中操作系統(tǒng)版本進(jìn)行鑒權(quán)。所以基于此缺陷,本申請?zhí)峁┝艘环N鑒權(quán)方法,用于在互聯(lián)網(wǎng)業(yè)務(wù)中進(jìn)行細(xì)粒度地控制權(quán)限。該方法的流程示意圖如圖2所示,包括下述步驟:
步驟11:獲取第一鑒權(quán)屬性值集合以及對應(yīng)的鑒權(quán)屬性集合。
在互聯(lián)網(wǎng)業(yè)務(wù)需要進(jìn)行鑒權(quán)時(shí)要有一個(gè)“標(biāo)準(zhǔn)”,這個(gè)“標(biāo)準(zhǔn)”就可以是第一鑒權(quán)屬性值集合,比如對于某個(gè)業(yè)務(wù)而言,需要地理位置和時(shí)間均滿足鑒權(quán)的要求才能夠完成,其中鑒權(quán)要求為地理位置是北京、時(shí)間是上午,那么“beijing”、“AM”就可以是第一鑒權(quán)屬性值,由于現(xiàn)有技術(shù)中只能夠通過單一鑒權(quán)屬性進(jìn)行比較粗粒度的權(quán)限控制,所以本步驟可以預(yù)先設(shè)定至少兩個(gè)第一鑒權(quán)屬性值,組成第一鑒權(quán)屬性值集合,在預(yù)設(shè)鑒權(quán)屬性值時(shí),可以根據(jù)具體的鑒權(quán)要求增多或減少鑒權(quán)屬性值。預(yù)先設(shè)定了鑒權(quán)屬性值,那么在進(jìn)行鑒權(quán)時(shí)就需要根據(jù)獲取對應(yīng)的屬性值,與預(yù)先設(shè)定的“標(biāo)準(zhǔn)”進(jìn)行匹配,所以還可以獲取與第一鑒權(quán)屬性值集合對應(yīng)的鑒權(quán)屬性集合,比如,“地理位置”、“時(shí)間段”就可以是鑒權(quán)屬性集合,這里,第一鑒權(quán)屬性值集合以及對應(yīng)的鑒權(quán)屬性集合可以稱為鑒權(quán)規(guī)則。具體的獲取方式,可以是從業(yè)務(wù)內(nèi)部獲取,比如,業(yè)務(wù)人員將包含第一鑒權(quán)屬性值集合以及對應(yīng)的鑒權(quán)屬性集合的鑒權(quán)規(guī)則以配置文件的方式寫入到業(yè)務(wù)中,或以代碼的形式寫入到業(yè)務(wù)內(nèi)部,當(dāng)需要進(jìn)行鑒權(quán)時(shí),可以從業(yè)務(wù)內(nèi)部獲取。
步驟12:根據(jù)鑒權(quán)屬性集合,獲取第二鑒權(quán)屬性值集合。
在設(shè)定鑒權(quán)規(guī)則時(shí),已經(jīng)預(yù)先設(shè)定了鑒權(quán)屬性值,在步驟11中也已經(jīng)獲取到了鑒權(quán)屬性集合,所以在本步驟中,就可以根據(jù)鑒權(quán)屬性集合,去獲取第二鑒權(quán)屬性值集合。比如,鑒權(quán)屬性集合為“地理位置”和“時(shí)間段”,那么就可以獲取請求業(yè)務(wù)的終端的地理位置,以及鑒權(quán)時(shí)的時(shí)間,將獲取到的各鑒權(quán)屬性值作為第二鑒權(quán)屬性值集合。
需要說明的是,一些屬性值可能存在很強(qiáng)的特殊性,比如,時(shí)間、數(shù)額等,所以可以通過設(shè)定區(qū)間值使屬性值普遍化。比如可以將時(shí)間段劃分為“AM”和“PM”,當(dāng)獲取到的時(shí)間為“0:21”時(shí),就可以確定鑒權(quán)屬性值為“AM”;又如,將時(shí)間段劃分為“time1”(0:00-3:00)、“time2”(3:00:01-6:00)……“timeN”等,當(dāng)獲取到的時(shí)間為“0:21”時(shí),就可以確定鑒權(quán)屬性值為“time1”。在數(shù)額這個(gè)鑒權(quán)屬性上也存在類似問題,可以將數(shù)額劃分為“[0,3000]”、“(3000,6000]”、“(6000,9000]”等區(qū)間,等獲取到的數(shù)額為“2000”時(shí),可以確定鑒權(quán)屬性值為“3000”。
具體的獲取方式,可以是獲取用戶輸入的,也可以是從請求業(yè)務(wù)的應(yīng)用程序、或終端中獲取。比如,鑒權(quán)屬性為年齡,就可以獲取用戶輸入的年齡,也可以獲取用戶預(yù)先保存在應(yīng)用程序中的年齡;又如,鑒權(quán)屬性為地理位置和時(shí)間,那么就可以通過GPS(Global Positioning System,全球定位系統(tǒng))定位,基站定位,IP(Internet Protocol,網(wǎng)絡(luò)之間互連的協(xié)議)地址定位等方式獲取終端的地理位置,以及通過定位和互聯(lián)網(wǎng),獲取終端所處時(shí)區(qū)的時(shí)間。
步驟13:根據(jù)第一鑒權(quán)屬性值集合與第二鑒權(quán)屬性值集合的匹配結(jié)果,進(jìn)行鑒權(quán)。
在步驟11中獲取了第一鑒權(quán)屬性值集合,并且在步驟12中獲取到了第二鑒權(quán)屬性值集合,第一鑒權(quán)屬性值集合是預(yù)先設(shè)定的“標(biāo)準(zhǔn)”,所以就可以將第二鑒權(quán)屬性值集合與第一鑒權(quán)屬性值集合進(jìn)行對比,得到匹配結(jié)果,具體地,可以為鑒權(quán)設(shè)置不同的邏輯,類似于黑名單或白名單,當(dāng)匹配成功時(shí),鑒權(quán)通過(或失敗);當(dāng)匹配不成功時(shí),鑒權(quán)通過(或失敗),等。
比如,預(yù)先設(shè)定的第一鑒權(quán)屬性值集合為“beijing”和“AM”,鑒權(quán)屬性集合為“地理位置”和“時(shí)間”,根據(jù)該鑒權(quán)屬性集合,通過基站定位方式獲取到了終端所處位置為“beijing”,通過互聯(lián)網(wǎng)查詢到當(dāng)前時(shí)間為“16:00”,并確定為“PM”,所以第二鑒權(quán)屬性值集合即為“beijing”和“PM”,由于兩個(gè)鑒權(quán)屬性值集合不匹配,所以鑒權(quán)失敗。
采用實(shí)施例1提供的方法,在進(jìn)行鑒權(quán)時(shí),先獲取包含至少兩個(gè)鑒權(quán)屬性值的第一鑒權(quán)屬性值集合以及對應(yīng)的鑒權(quán)屬性集合,再根據(jù)鑒權(quán)屬性獲取第二鑒權(quán)屬性值集合,最終根據(jù)兩種鑒權(quán)屬性值集合的匹配結(jié)果進(jìn)行鑒權(quán),通過至少兩個(gè)鑒權(quán)屬性值,實(shí)現(xiàn)細(xì)粒度的權(quán)限控制,解決了現(xiàn)有技術(shù)僅針對一個(gè)鑒權(quán)屬性進(jìn)行鑒權(quán)導(dǎo)致的鑒權(quán)控制粒度較粗的問題。
實(shí)施例2
在實(shí)施例1中已經(jīng)介紹,當(dāng)需要進(jìn)行鑒權(quán)時(shí),可以從業(yè)務(wù)內(nèi)部獲取包含第一鑒權(quán)屬性值集合以及對應(yīng)的鑒權(quán)屬性集合的鑒權(quán)規(guī)則,也就是,會(huì)將鑒權(quán)規(guī)則以代碼的形式添加(“植入”)到需要進(jìn)行鑒權(quán)的業(yè)務(wù)中,比如,如圖3所示,在業(yè)務(wù)中將預(yù)設(shè)鑒權(quán)規(guī)則通過代碼的形式進(jìn)行編寫,當(dāng)用戶請求該業(yè)務(wù)時(shí),業(yè)務(wù)會(huì)根據(jù)代碼編寫的鑒權(quán)規(guī)則中需要鑒權(quán)的鑒權(quán)屬性集合,去從終端中獲取第二鑒權(quán)屬性值集合,通過與鑒權(quán)規(guī)則中的第一鑒權(quán)屬性值集合進(jìn)行對比以便完成鑒權(quán)。但是,如果鑒權(quán)規(guī)則發(fā)生變化(屬性和/或?qū)傩灾底兓?,就需要重新在業(yè)務(wù)中改寫代碼,甚至更新應(yīng)用程序的版本,或者更新業(yè)務(wù)對應(yīng)的功能單元的版本,這對于業(yè)務(wù)中的鑒權(quán)規(guī)則來說擴(kuò)展性較差,如果鑒權(quán)規(guī)則發(fā)生變化,實(shí)現(xiàn)修改鑒權(quán)規(guī)則的過程比較繁瑣。又如圖3所示,僅介紹了一個(gè)業(yè)務(wù)的鑒權(quán)過程,如果有多個(gè)業(yè)務(wù)都需要鑒權(quán),就需要為每個(gè)業(yè)務(wù)編寫代碼,即使相同應(yīng)用程序中的不同業(yè)務(wù),都可能存在底層代碼類型不同(不同語言編寫),在為每個(gè)業(yè)務(wù)添加鑒權(quán)規(guī)則時(shí),需要去適應(yīng)每個(gè)業(yè)務(wù),特殊性很強(qiáng),普遍性就很弱,如果總是在適應(yīng)每個(gè)業(yè)務(wù)上浪費(fèi)時(shí)間,顯然不值得。所以,在實(shí)施例1的基礎(chǔ)上,作為優(yōu)選方案,本申請又提供一鑒權(quán)方法,用于在鑒權(quán)過程中提高鑒權(quán)規(guī)則的擴(kuò)展性和普遍性。該方法的示意圖如圖4和圖5所示,包括下述步驟:
步驟21:從業(yè)務(wù)外部獲取第一鑒權(quán)屬性值集合以及對應(yīng)的鑒權(quán)屬性集合。
前文已經(jīng)分析,將第一鑒權(quán)屬性值集合以及對應(yīng)的鑒權(quán)屬性集合“植入”到業(yè)務(wù)內(nèi)部的問題,所以可以將第一鑒權(quán)屬性值集合以及對應(yīng)的鑒權(quán)屬性集合保存在業(yè)務(wù)外部,比如應(yīng)用程序中專門用于管理鑒權(quán)規(guī)則的功能模塊,或者除進(jìn)行鑒權(quán)的終端以外的其他終端上,又或服務(wù)器等,總之將第一鑒權(quán)屬性值集合以及對應(yīng)的鑒權(quán)屬性集合放在業(yè)務(wù)外部的作用就是,將其與業(yè)務(wù)隔離。與步驟11相同,鑒權(quán)屬性集合中包含至少兩個(gè)鑒權(quán)屬性,也就是第一鑒權(quán)屬性值集合種也包含至少兩個(gè)鑒權(quán)屬性值。
步驟22:根據(jù)鑒權(quán)屬性集合,獲取第二鑒權(quán)屬性值集合。
步驟23:根據(jù)第一鑒權(quán)屬性值集合與第二鑒權(quán)屬性值集合的匹配結(jié)果,進(jìn)行鑒權(quán)
與步驟12和步驟13類似,本步驟就可以從進(jìn)行鑒權(quán)的終端中,獲取第二鑒權(quán)屬性值集合,并且根據(jù)兩鑒權(quán)屬性值集合進(jìn)行鑒權(quán)。
采用實(shí)施例2提供的方法,將包含第一鑒權(quán)屬性值集合以及對應(yīng)的鑒權(quán)屬性集合的鑒權(quán)規(guī)則與業(yè)務(wù)進(jìn)行隔離,在進(jìn)行添加、刪除、修改鑒權(quán)規(guī)則后,無需修改業(yè)務(wù)內(nèi)部,所以實(shí)現(xiàn)細(xì)粒度的權(quán)限控制,解決了現(xiàn)有技術(shù)僅針對一個(gè)鑒權(quán)屬性進(jìn)行鑒權(quán)導(dǎo)致的鑒權(quán)控制粒度粗的問題的同時(shí),增強(qiáng)了鑒權(quán)行為的擴(kuò)展性,并且在對每個(gè)業(yè)務(wù)進(jìn)行鑒權(quán)時(shí),也無需去適應(yīng)每個(gè)業(yè)務(wù),而是依據(jù)從第二終端獲取到的鑒權(quán)屬性值集合去鑒權(quán),提高了鑒權(quán)規(guī)則的普遍性。
實(shí)施例3
在前兩個(gè)實(shí)施例中,分別介紹了如何細(xì)粒度進(jìn)行權(quán)限控制,以及如何提高擴(kuò)展性和普遍性,但是考慮到在獲取鑒權(quán)規(guī)則,尤其是實(shí)施例2中,從業(yè)務(wù)外部獲取時(shí),會(huì)有安全性的問題,比如在網(wǎng)絡(luò)傳輸過程中被攔截篡改等,所以本申請?zhí)峁┝艘环N鑒權(quán)方法以及一種鑒權(quán)碼的生成方法,用于提高鑒權(quán)過程的安全性。假設(shè)鑒權(quán)碼生成方法的執(zhí)行主體為第一終端,鑒權(quán)方法的執(zhí)行主體為第二終端。先介紹鑒權(quán)碼生成的方法,該方法的流程示意圖如圖6所示,包括下述步驟:
步驟31:獲取鑒權(quán)屬性值集合、以及鑒權(quán)碼生成規(guī)則。
在實(shí)施例1的步驟11中已經(jīng)介紹,在互聯(lián)網(wǎng)業(yè)務(wù)需要進(jìn)行鑒權(quán)時(shí),要有一個(gè)“標(biāo)準(zhǔn)”,并且第一鑒權(quán)屬性值集合就可以是“標(biāo)準(zhǔn)”,在實(shí)施例1中介紹由于需要進(jìn)行匹配,所以將預(yù)設(shè)的“標(biāo)準(zhǔn)”稱為第一鑒權(quán)屬性值集合,而將獲取到的鑒權(quán)屬性值集合稱為第二鑒權(quán)屬性值集合,在生成鑒權(quán)碼的過程中,并不涉及第一鑒權(quán)屬性值集合以外的,所以就可以稱為鑒權(quán)屬性值集合,這里的鑒權(quán)屬性值集合的作用是與第一鑒權(quán)屬性值集合相同的,比如,“beijing”、“AM”。在獲取了鑒權(quán)屬性值集合后,還需要獲取鑒權(quán)碼的生成規(guī)則,該生成規(guī)則可以是簡單的組合,比如,將鑒權(quán)屬性值集合按照預(yù)設(shè)的順序進(jìn)行組合,但是簡單的組合規(guī)則可能會(huì)存在安全性問題,所以,在實(shí)際應(yīng)用中,為了達(dá)到提高安全性的目的,鑒權(quán)碼生成規(guī)則可以是指具體的算法,比如,可以是摘要算法中的CRC(Cyclic Redundancy Check,循環(huán)冗余校驗(yàn))算法;MD5(Message-Digest Algorithm 5,消息摘要算法版本5)算法;SHA(Secure Hash Algorithm)系列算法,包括SHA為20字節(jié)(160位)、SHA256為32字節(jié)(256位)、SHA384為48字節(jié)(384位)、SHA512為64字節(jié)(512位);RIPEMD(Race Integrity Primitives Evaluation Message Digest,Race原始完整性校驗(yàn)消息摘要)算法等。
在前文已經(jīng)介紹,生成規(guī)則可以是簡單的組合規(guī)則,所以,為了進(jìn)一步提高安全性,本步驟可以包括:獲取鑒權(quán)屬性值集合、排序信息以及鑒權(quán)碼生成規(guī)則。具體地,排序信息可以是對鑒權(quán)屬性值集合中各鑒權(quán)屬性值的排序信息。
步驟32:根據(jù)鑒權(quán)屬性值集合,通過鑒權(quán)碼生成規(guī)則,生成鑒權(quán)碼。
在上一步驟中,已經(jīng)介紹生成規(guī)則可以是簡單的組合,比如鑒權(quán)屬性值集合是“beijing”、“AM”,根據(jù)簡單組合生成的鑒權(quán)碼就可以是“beijingAM”。前文已經(jīng)介紹,為了提高安全性,鑒權(quán)碼生成規(guī)則可以是摘要算法,具體可以是MD5算法,所以可以將“beijingAM”,通過MD5算法生成一個(gè)32位的字符串作為鑒權(quán)碼,得到“646b152e3aae9cf37cc34028f75638d8”,或16位的字符串作為鑒權(quán)碼“3aae9cf37cc34028”。為了進(jìn)一步提高安全性,上一步驟還可以獲取到排序信息,所以本步驟就可以根據(jù)排序信息,將鑒權(quán)屬性值集合中的各鑒權(quán)屬性值進(jìn)行排序;將排序后的鑒權(quán)屬性值集合,通過鑒權(quán)碼生成規(guī)則,生成鑒權(quán)碼。比如,鑒權(quán)屬性值集合中有三種鑒權(quán)屬性值,分別是鑒權(quán)屬性值A(chǔ)、鑒權(quán)屬性值B、鑒權(quán)屬性值C,排序信息為“B、A、C”,那么在對鑒權(quán)屬性值集合中的鑒權(quán)屬性值進(jìn)行排序后的結(jié)果就是:“鑒權(quán)屬性值B”、“鑒權(quán)屬性值A(chǔ)”、“鑒權(quán)屬性值C”。完成排序后,就得到了排序后的鑒權(quán)屬性值集合,此時(shí)就可以通過MD5算法,生成鑒權(quán)碼。鑒權(quán)碼雖然可以作為一個(gè)鑒權(quán)信息進(jìn)行鑒權(quán),但是鑒權(quán)屬性值集合是為了在業(yè)務(wù)中鑒權(quán)的,鑒權(quán)屬性值集合必定對應(yīng)一個(gè)業(yè)務(wù),所以可以將鑒權(quán)碼以及對應(yīng)的業(yè)務(wù)標(biāo)識(shí)進(jìn)行關(guān)聯(lián),生成一個(gè)完整的鑒權(quán)信息。在一種實(shí)施方式中,為了得到一個(gè)完整的鑒權(quán)信息,還可以包括
步驟33:獲取鑒權(quán)屬性值集合對應(yīng)的業(yè)務(wù)標(biāo)識(shí);根據(jù)業(yè)務(wù)標(biāo)識(shí)以及鑒權(quán)碼,生成鑒權(quán)信息。
互聯(lián)網(wǎng)業(yè)務(wù)繁多,為了便于識(shí)別業(yè)務(wù),可以將業(yè)務(wù)進(jìn)行標(biāo)識(shí),比如可以通過1、2、3等業(yè)務(wù)標(biāo)識(shí)分別代表查詢業(yè)務(wù)、登錄業(yè)務(wù)、支付業(yè)務(wù)等。鑒權(quán)碼可以是32位字符串,業(yè)務(wù)標(biāo)識(shí)可以是1、2、3等字符,所以如果業(yè)務(wù)標(biāo)識(shí)是1位字符,那么就可以生成一個(gè)33位的鑒權(quán)信息,在實(shí)際應(yīng)用中業(yè)務(wù)標(biāo)識(shí)和鑒權(quán)碼的順序也是可以預(yù)先設(shè)定的,比如業(yè)務(wù)標(biāo)識(shí)在前鑒權(quán)碼在后,或業(yè)務(wù)標(biāo)識(shí)在后鑒權(quán)碼在前。在實(shí)際應(yīng)用中,可以將鑒權(quán)信息定義為令牌token,token的結(jié)構(gòu)如圖7所示,生成token的示意圖如圖8所示。
介紹完鑒權(quán)碼的生成方法,下面介紹鑒權(quán)方法,該方法的流程示意圖如圖9所示,包括下述步驟:
步驟41:從第一終端中獲取第一鑒權(quán)碼、鑒權(quán)碼生成規(guī)則以及對應(yīng)的鑒權(quán)屬性集合。
前文已經(jīng)介紹,為了提高安全性,可以將鑒權(quán)屬性值集合通過鑒權(quán)碼生成規(guī)則(如摘要算法)生成鑒權(quán)碼,所以在本步驟中,也可以去獲取鑒權(quán)碼,其中,第一鑒權(quán)碼就是步驟32中生成的鑒權(quán)碼,該第一鑒權(quán)碼是根據(jù)第一鑒權(quán)屬性值集合以及鑒權(quán)碼生成規(guī)則生成的。第一鑒權(quán)屬性值集合可以是第一終端預(yù)先設(shè)定的,并且對應(yīng)設(shè)定了鑒權(quán)屬性集合,本步驟在鑒權(quán)時(shí),可以向第一終端發(fā)送請求,以便獲取。
前文已經(jīng)介紹,為了進(jìn)一步提高安全性,還可以在生成鑒權(quán)碼時(shí)加入排序信息,所以本步驟還可以包括:獲取第一鑒權(quán)碼、鑒權(quán)碼生成方法、排序信息以及對應(yīng)的鑒權(quán)屬性集合。其中,該第一鑒權(quán)碼在步驟32中也已經(jīng)介紹,是根據(jù)第一鑒權(quán)屬性值集合、排序信息以及鑒權(quán)碼生成方法生成。
在實(shí)際應(yīng)用中,鑒權(quán)的步驟有可能不是由業(yè)務(wù)本身執(zhí)行,可以是其它功能模塊來執(zhí)行,所以,在一種實(shí)施方式中,本步驟可以包括:獲取鑒權(quán)信息;對鑒權(quán)信息進(jìn)行解析,確定第一鑒權(quán)碼以及業(yè)務(wù)標(biāo)識(shí);根據(jù)業(yè)務(wù)標(biāo)識(shí),獲取鑒權(quán)碼生成方法以及對應(yīng)的鑒權(quán)屬性集合。比如,在步驟33中已經(jīng)介紹,鑒權(quán)信息可以是根據(jù)業(yè)務(wù)標(biāo)識(shí)的字符和鑒權(quán)碼生成的令牌token,也業(yè)務(wù)標(biāo)識(shí)為1位字符、鑒權(quán)碼是根據(jù)鑒權(quán)屬性值集合和MD5算法生成的32位鑒權(quán)碼為例。本步驟中,在獲取到token后,可以根據(jù)預(yù)先設(shè)定的業(yè)務(wù)標(biāo)識(shí)和鑒權(quán)碼的前后順序,確定出第一鑒權(quán)碼以及業(yè)務(wù)標(biāo)識(shí),比如,預(yù)先設(shè)定業(yè)務(wù)標(biāo)識(shí)為1位,在前,鑒權(quán)碼為32為在后,那么就可以直接截取后32位,作為第一鑒權(quán)碼,將剩余的字符作為業(yè)務(wù)標(biāo)識(shí)。如果在生成鑒權(quán)碼時(shí)加入排序信息,那么還可以如圖10所示,根據(jù)業(yè)務(wù)標(biāo)識(shí),獲取鑒權(quán)碼生成規(guī)則、排序信息以及對應(yīng)的鑒權(quán)屬性集合。
步驟42:根據(jù)鑒權(quán)屬性集合,從第二終端中獲取第二鑒權(quán)屬性值集合;根據(jù)第二鑒權(quán)屬性值集合以及鑒權(quán)碼生成規(guī)則生成第二鑒權(quán)碼。
與步驟12類似,在獲取到鑒權(quán)屬性集合后,可以從需要鑒權(quán)的第二終端中獲取第二鑒權(quán)屬性值集合,并且根據(jù)步驟41中獲取的鑒權(quán)碼生成規(guī)則生成第二鑒權(quán)碼。具體生成方法,與步驟32介紹的生成鑒權(quán)碼的方法相同。在步驟41中介紹可以是獲取第一鑒權(quán)碼、鑒權(quán)碼生成方法、排序信息以及對應(yīng)的鑒權(quán)屬性集合,所以在本步驟中,也可以包括:根據(jù)鑒權(quán)屬性集合,獲取終端中的第二鑒權(quán)屬性值集合;根據(jù)第二鑒權(quán)屬性值集合、排序信息以及鑒權(quán)碼生成規(guī)則生成第二鑒權(quán)碼。具體地,與步驟32介紹的生成鑒權(quán)碼的方法相同。
步驟43:根據(jù)第一鑒權(quán)碼與第二鑒權(quán)碼的匹配結(jié)果,進(jìn)行鑒權(quán)。
本步驟與步驟13類似,區(qū)別在于是根據(jù)第一鑒權(quán)碼與第二鑒權(quán)碼進(jìn)行鑒權(quán)。
在本申請實(shí)施例中,第一終端和第二終端可以但不限于分別代表服務(wù)器和客戶端,也就是服務(wù)器用于指定鑒權(quán)規(guī)則,并且生成第一鑒權(quán)碼(或令牌token這種鑒權(quán)信息),并下發(fā)給客戶端,客戶端獲取第一鑒權(quán)碼對應(yīng)的鑒權(quán)屬性集合,或者由客戶端中單獨(dú)的功能模塊獲取token,解析出業(yè)務(wù)標(biāo)識(shí)和第一鑒權(quán)碼,并根據(jù)業(yè)務(wù)標(biāo)識(shí)獲取鑒權(quán)屬性集合以及鑒權(quán)碼生成規(guī)則(算法)(還可以有排序信息),從客戶端中獲取第二鑒權(quán)屬性值集合,并按照鑒權(quán)碼生成規(guī)則(還可以有排序信息)生成第二鑒權(quán)碼,利用兩鑒權(quán)碼進(jìn)行匹配鑒權(quán)。該鑒權(quán)方法和鑒權(quán)碼生成方法的示意圖可以參照圖11所示。
采用實(shí)施例3提供的方法,通過將第一鑒權(quán)屬性值集合“隱藏”在鑒權(quán)碼中,提高了鑒權(quán)過程中的安全性;通過為鑒權(quán)屬性值集合設(shè)定排序信息,進(jìn)一步提高鑒權(quán)過程了安全性。
實(shí)施例4
基于相同的發(fā)明構(gòu)思,實(shí)施例4提供了一種鑒權(quán)裝置。圖12為該裝置的結(jié)構(gòu)圖,該裝置包括:第一獲取單元41、第二獲取單元42以及鑒權(quán)單元43,其中,
所述第一獲取單元41,可以獲取第一鑒權(quán)屬性值集合以及對應(yīng)的鑒權(quán)屬性集合,所述鑒權(quán)屬性集合中包含至少兩個(gè)鑒權(quán)屬性;
所述第二獲取單元42,可以根據(jù)所述鑒權(quán)屬性集合,獲取第二鑒權(quán)屬性值集合;
所述鑒權(quán)單元43,可以根據(jù)所述第一鑒權(quán)屬性值集合與所述第二鑒權(quán)屬性值集合的匹配結(jié)果,進(jìn)行鑒權(quán)。
在一種實(shí)施方式中,所述第一獲取單元41,可以獲取第一鑒權(quán)碼、鑒權(quán)碼生成規(guī)則以及對應(yīng)的鑒權(quán)屬性集合,所述第一鑒權(quán)碼根據(jù)所述第一鑒權(quán)屬性值集合以及所述鑒權(quán)碼生成規(guī)則生成;
則所述第二獲取單元42,可以
根據(jù)所述鑒權(quán)屬性集合,從第二終端中獲取第二鑒權(quán)屬性值集合;
根據(jù)所述第二鑒權(quán)屬性值集合以及所述鑒權(quán)碼生成規(guī)則生成第二鑒權(quán)碼;
所述鑒權(quán)單元,根據(jù)所述第一鑒權(quán)碼與所述第二鑒權(quán)碼的匹配結(jié)果,進(jìn)行鑒權(quán)。
在一種實(shí)施方式中,所述第一獲取單元42,可以
獲取鑒權(quán)信息;
對所述鑒權(quán)信息進(jìn)行解析,確定第一鑒權(quán)碼以及業(yè)務(wù)標(biāo)識(shí);
根據(jù)所述業(yè)務(wù)標(biāo)識(shí),獲取鑒權(quán)碼生成方法以及對應(yīng)的鑒權(quán)屬性集合。
在一種實(shí)施方式中,所述第一獲取單元41,可以獲取第一鑒權(quán)碼、鑒權(quán)碼生成方法、排序信息以及對應(yīng)的鑒權(quán)屬性集合,所述第一鑒權(quán)碼根據(jù)所述第一鑒權(quán)屬性值集合、所述排序信息以及所述鑒權(quán)碼生成方法生成;
則所述第二獲取單元42,可以
根據(jù)所述鑒權(quán)屬性集合,獲取終端中的第二鑒權(quán)屬性值集合;
根據(jù)所述第二鑒權(quán)屬性值集合、所述排序信息以及所述鑒權(quán)碼生成規(guī)則生成第二鑒權(quán)碼;
所述鑒權(quán)單元43,可以根據(jù)所述第一鑒權(quán)碼與所述第二鑒權(quán)碼的匹配結(jié)果,進(jìn)行鑒權(quán)。
實(shí)施例5
基于相同的發(fā)明構(gòu)思,實(shí)施例5提供了一種鑒權(quán)碼的生成裝置。圖13為該裝置的結(jié)構(gòu)圖,該裝置包括:獲取單元51以及生成單元52,其中,
所述獲取單元51,可以獲取鑒權(quán)屬性值集合、以及鑒權(quán)碼生成規(guī)則;
所述生成單元52,可以根據(jù)所述鑒權(quán)屬性值集合,通過所述鑒權(quán)碼生成規(guī)則,生成鑒權(quán)碼。
在一種實(shí)施方式中,所述生成單元52,可以
獲取所述鑒權(quán)屬性值集合對應(yīng)的業(yè)務(wù)標(biāo)識(shí);
根據(jù)所述業(yè)務(wù)標(biāo)識(shí)以及所述鑒權(quán)碼生成規(guī)則,生成鑒權(quán)信息。
在一種實(shí)施方式中,所述獲取單元51,可以
獲取鑒權(quán)屬性值集合、排序信息以及鑒權(quán)碼生成規(guī)則;
則所述生成單元52,可以
根據(jù)所述排序信息,將所述鑒權(quán)屬性值集合中的各鑒權(quán)屬性值進(jìn)行排序;
將排序后的鑒權(quán)屬性值集合,通過所述鑒權(quán)碼生成規(guī)則,生成鑒權(quán)碼。
實(shí)施例6
基于相同的發(fā)明構(gòu)思,實(shí)施例6供了一種鑒權(quán)系統(tǒng),用于提高鑒權(quán)行為的擴(kuò)展性和普遍性。圖14為該系統(tǒng)的結(jié)構(gòu)圖,在實(shí)際應(yīng)用中,可以假設(shè)第一終端為服務(wù)器,第二終端為客戶端,該系統(tǒng)60可以包括:服務(wù)器、客戶端、互聯(lián)網(wǎng),其中,
服務(wù)器,可以
獲取第一鑒權(quán)屬性值集合、以及鑒權(quán)碼生成規(guī)則;
根據(jù)鑒權(quán)屬性值集合,通過鑒權(quán)碼生成規(guī)則,生成第一鑒權(quán)碼。
具體地,服務(wù)器可以有數(shù)據(jù)庫,用于存放鑒權(quán)碼等信息,第一鑒權(quán)屬性值集合可以是業(yè)務(wù)人員根據(jù)業(yè)務(wù)需要,預(yù)先設(shè)置的,也可以是根據(jù)特定時(shí)間觸發(fā)的,如圖15所示,服務(wù)器中可以包括后臺(tái)、算法中心和前臺(tái),后臺(tái)就可以設(shè)置鑒權(quán)規(guī)則,算法中心用于存放鑒權(quán)碼生成規(guī)則,比如各種摘要算法等,以及生成第一鑒權(quán)碼,每種鑒權(quán)規(guī)則都可以對應(yīng)一個(gè)鑒權(quán)碼生成規(guī)則,可以隨時(shí)更改。
在一種實(shí)施方式中,算法中心還可以保存每種鑒權(quán)規(guī)則中對于鑒權(quán)屬性值集合的排序信息,所以也就可以根據(jù)排序信息,將第一鑒權(quán)屬性值集合中的各鑒權(quán)屬性值進(jìn)行排序;并將排序后的第一鑒權(quán)屬性值集合,通過鑒權(quán)碼生成規(guī)則,生成第一鑒權(quán)碼。
在一種實(shí)施方式中,算法中心還可以在生成第一鑒權(quán)碼之后,獲取鑒權(quán)屬性值集合對應(yīng)的業(yè)務(wù)標(biāo)識(shí);并根據(jù)業(yè)務(wù)標(biāo)識(shí)以及第一鑒權(quán)碼,生成鑒權(quán)信息,比如該鑒權(quán)信息就可以是令牌token。令牌token可以存放在證書服務(wù)器中。前臺(tái)可以與客戶端進(jìn)行對接,具體可以向客戶端發(fā)送第一鑒權(quán)碼,令牌token等。
客戶端,可以
獲取第一鑒權(quán)碼、鑒權(quán)碼生成規(guī)則以及對應(yīng)的鑒權(quán)屬性集合;
根據(jù)鑒權(quán)屬性集合,從第二終端中獲取第二鑒權(quán)屬性值集合;
根據(jù)第二鑒權(quán)屬性值集合以及鑒權(quán)碼生成規(guī)則生成第二鑒權(quán)碼;
根據(jù)第一鑒權(quán)碼與第二鑒權(quán)碼的匹配結(jié)果,進(jìn)行鑒權(quán)。
具體地,如圖16所示,客戶端可以包括業(yè)務(wù),加簽器以及算法中心。當(dāng)業(yè)務(wù)需要鑒權(quán)時(shí),可以向服務(wù)器獲取第一鑒權(quán)碼、鑒權(quán)碼生成規(guī)則以及對應(yīng)的鑒權(quán)屬性集合,加簽器可以根據(jù)鑒權(quán)屬性集合,從第二終端中獲取第二鑒權(quán)屬性值集合,再根據(jù)第二鑒權(quán)屬性值集合以及鑒權(quán)碼生成規(guī)則生成第二鑒權(quán)碼;并根據(jù)第一鑒權(quán)碼與第二鑒權(quán)碼的匹配結(jié)果,進(jìn)行鑒權(quán)。
在一種實(shí)施方式中,業(yè)務(wù)還可以獲取到排序信息,那么加簽器就可以根據(jù)鑒權(quán)屬性集合,從客戶端中獲取第二鑒權(quán)屬性值集合;根據(jù)第二鑒權(quán)屬性值集合、所述排序信息以及鑒權(quán)碼生成規(guī)則生成第二鑒權(quán)碼。
在實(shí)際應(yīng)用中,服務(wù)器可以生成令牌token,所以業(yè)務(wù)也可以獲取到token,比如服務(wù)器根據(jù)業(yè)務(wù)發(fā)送的請求,通過互聯(lián)網(wǎng)將對應(yīng)的token發(fā)送給客戶端,客戶端將token發(fā)送給加簽器,加簽器獲取到token后,對token進(jìn)行解析,確定第一鑒權(quán)碼以及業(yè)務(wù)標(biāo)識(shí);根據(jù)業(yè)務(wù)標(biāo)識(shí),向服務(wù)器的算法中心獲取鑒權(quán)碼生成規(guī)則以及對應(yīng)的鑒權(quán)屬性集合,同步到客戶端的算法中心中,具體地,在同步的過程中,可以先檢查客戶端中是否存在對應(yīng)的生成規(guī)則,如果沒有則直接同步,如果存在可以通過版本號(hào),進(jìn)行更新。在同步鑒權(quán)碼生成規(guī)則時(shí),還可以連同排序信息(如果生成token時(shí)存在的話)一起同步。加簽器在生成第二鑒權(quán)碼后,跟解析出的第一鑒權(quán)碼進(jìn)行對比,從而完成鑒權(quán)。
采用實(shí)施例5提供的該系統(tǒng),服務(wù)器先根據(jù)包含至少兩個(gè)鑒權(quán)屬性值的第一鑒權(quán)屬性值集合,生成第一鑒權(quán)碼,客戶端業(yè)務(wù)需要鑒權(quán)時(shí),從服務(wù)器獲取第一鑒權(quán)碼,以及鑒權(quán)屬性集合,并從客戶端獲取第二鑒權(quán)屬性值集合,并以與服務(wù)器生成第一鑒權(quán)碼時(shí)相同的生成方法,生成第二鑒權(quán)碼,通過兩鑒權(quán)碼的對比,進(jìn)行鑒權(quán)。實(shí)現(xiàn)細(xì)粒度的權(quán)限控制,解決了現(xiàn)有技術(shù)僅針對一個(gè)鑒權(quán)屬性進(jìn)行鑒權(quán)導(dǎo)致的鑒權(quán)控制粒度粗的問題。另外將第一鑒權(quán)碼與業(yè)務(wù)進(jìn)行隔離,在進(jìn)行添加、刪除、修改鑒權(quán)規(guī)則后,無需修改業(yè)務(wù)內(nèi)部,增強(qiáng)了鑒權(quán)行為的擴(kuò)展性,并且在對每個(gè)業(yè)務(wù)進(jìn)行鑒權(quán)時(shí),無需去適應(yīng)每個(gè)業(yè)務(wù),而是依據(jù)從客戶端獲取到的第一鑒權(quán)碼去鑒權(quán),提高了鑒權(quán)規(guī)則的普遍性。此外,鑒權(quán)碼也提高了鑒權(quán)過程中的安全性。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本申請是參照根據(jù)本申請實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(ROM)或閃存(flash RAM)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。
計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、其他類型的隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號(hào)和載波。
還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
以上僅為本申請的實(shí)施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。