本申請涉及權限控制
技術領域:
,尤其涉及一種權限撤銷方法及裝置。
背景技術:
:計算機及互聯(lián)網(wǎng)技術的發(fā)展,使得用戶可以享受到很多便捷的功能。而隨著用戶需求的不斷提升,單一的功能主體有時難以滿足用戶的復合性需求,這種情況下,就需要多個相對獨立的功能主體之間以某種方式進行協(xié)作,共同為用戶提供服務。例如,為了滿足用戶的購物需求,需要電商平臺、支付平臺、物流平臺等多方的協(xié)作。為了實現(xiàn)原本相互獨立的功能主體之間的協(xié)作,除了在功能主體之間進行必要的數(shù)據(jù)交換之外,往往還需要功能主體之間相互開放一些必要的權限,例如:用戶的需求是通過應用A來修改個人保存在應用B的存儲目錄中的信息(這里假設應用A和網(wǎng)站B是由不同的廠商提供),那么為了實現(xiàn)上述需求,就需要網(wǎng)站B向應用A開放對個人信息數(shù)據(jù)的修改權限。從安全性的角度考慮,授權方還應具備對已開放權限的主動撤銷功能,常規(guī)的做法是:授權方對每一條已開放給被授權方的權限作為一條記錄寫入數(shù)據(jù)庫中,并且在每條記錄中增加一個用于表示該權限是否有效的屬性字段,通過將該字段值修改為“無效”來實現(xiàn)對權限的主動撤銷。這種方案存在的問題在于,每撤銷一條權限就需要對數(shù)據(jù)庫進行一次字段更新操作,如果需要批量撤銷權限,則需要對相關的授權記錄進行逐條更新,在數(shù)據(jù)庫操作環(huán)境下,這種處理的實際效率是比較低的。而且“逐條更新”的操作邏輯也需要消耗較多的人力和時間成本來編寫實現(xiàn),如果不同的授權記錄采用了分庫或分表的方式進行存儲,那么相應的數(shù)據(jù)更新操作還需要涉及分庫或分表,從而導致技術實現(xiàn)難度的進一步提升。技術實現(xiàn)要素:針對上述技術問題,本申請?zhí)峁┘夹g方案如下:根據(jù)本申請的第一方面,提供一種數(shù)據(jù)庫授權記錄批量撤銷方法,為存在撤銷需求的授權記錄集合配置時效屬性,所述時效屬性用于定義一個時間點,使得集合中授權生效時刻早于該時間點的授權記錄失效,所述方法包括:確定需要執(zhí)行撤銷的授權記錄集合;為所確定的集合設置時效屬性值,令設置后的屬性值T0為當前時刻或未來時刻。根據(jù)本申請的第二方面,提供一種數(shù)據(jù)庫授權記錄批量撤銷方法,為存在撤銷需求的授權記錄集合配置第一時效屬性或者第二時效屬性,所述第一時效屬性用于定義一個時間點,使得集合中授權生效時刻早于該時間點的授權記錄失效,所述第二時效屬性用于定義一個時間點,使得集合中授權生效時刻晚于該時間點的授權記錄失效,所述方法包括:確定需要執(zhí)行撤銷的授權記錄集合;在該集合配置了第一時效屬性的情況下,確定該集合中授權記錄的最晚生效時刻,并為該集合設置第一時效屬性值,令設置后的第一時效屬性值T1>所述集合中授權記錄的最晚生效時刻;在該集合配置了第二時效屬性的情況下,確定該集合中授權記錄的最早生效時刻,并為該集合設置第二時效屬性值,令設置后的第二時效屬性值T2<所述集合中授權記錄的最早生效時刻。根據(jù)本申請的第三方面,提供一種數(shù)據(jù)庫授權記錄有效性驗證方法,存在撤銷需求的授權記錄集合配置有第一時效屬性或者第二時效屬性,所述第一時效屬性用于定義一個時間點,使得集合中授權生效時刻早于該時間點的授權記錄失效,所述第二時效屬性用于定義一個時間點,使得集合中授權生效時刻晚于該時間點的授權記錄失效,所述方法包括:確定待驗證的授權記錄;獲取所述待驗證授權記錄的生效時刻;獲取所述待驗證授權記錄所屬的授權記錄集合的第一時效屬性值或者第二時效屬性值;在所獲取的生效時刻早于所獲取的第一時效屬性值的情況下,確定所述待驗證授權記錄無效;或者,在所獲取的生效時刻晚于所獲取的第二時效屬性值的情況下,確定所述待驗證授權記錄無效。根據(jù)本申請的第四方面,提供一種數(shù)據(jù)庫授權記錄批量撤銷裝置,為存在撤銷需求的授權記錄集合配置時效屬性,所述時效屬性用于定義一個時間點,使得集合中授權生效時刻早于該時間點的授權記錄失效,所述裝置包括:撤銷任務確定單元,用于確定需要執(zhí)行撤銷的授權記錄集合;撤銷執(zhí)行單元,用于為所確定的集合設置時效屬性值,令設置后的屬性值T0為當前時刻或未來時刻。根據(jù)本申請的第五方面,提供一種數(shù)據(jù)庫授權記錄批量撤銷裝置,為存在撤銷需求的授權記錄集合配置第一時效屬性或者第二時效屬性,所述第一時效屬性用于定義一個時間點,使得集合中授權生效時刻早于該時間點的授權記錄失效,所述第二時效屬性用于定義一個時間點,使得集合中授權生效時刻晚于該時間點的授權記錄失效,所述裝置包括:撤銷任務確定單元,用于確定需要執(zhí)行撤銷的授權記錄集合;撤銷執(zhí)行單元,用于在該集合配置了第一時效屬性的情況下,確定該集合中授權記錄的最晚生效時刻,并為該集合設置第一時效屬性值,令設置后的第一時效屬性值T1>所述集合中授權記錄的最晚生效時刻;或者在該集合配置了第二時效屬性的情況下,確定該集合中授權記錄的最早生效時刻,并為該集合設置第二時效屬性值,令設置后的第二時效屬性值T2<所述集合中授權記錄的最早生效時刻。根據(jù)本申請的第六方面,提供一種數(shù)據(jù)庫授權記錄有效性驗證裝置,其特征在于,存在撤銷需求的授權記錄集合配置有第一時效屬性或者第二時效屬性,所述第一時效屬性用于定義一個時間點,使得集合中授權生效時刻早于該時間點的授權記錄失效,所述第二時效屬性用于定義一個時間點,使得集合中授權生效時刻晚于該時間點的授權記錄失效,所述裝置包括:驗證對象確定單元,用于確定待驗證的授權記錄;第一獲取單元,用于獲取所述待驗證授權記錄的生效時刻;第二獲取單元,用于獲取所述待驗證授權記錄所屬的授權記錄集合的第一時效屬性值或者第二時效屬性值;驗證單元,用于在在所獲取的生效時刻早于所獲取的第一時效屬性值的情況下,確定所述待驗證授權記錄無效;或者,在所獲取的生效時刻晚于所獲取的第二時效屬性值的情況下,確定所述待驗證授權記錄無效。根據(jù)本申請的第七方面,提供一種第三方應用授權令牌的批量撤銷方法,所述方法包括:確定存在授權令牌撤銷需求的第三方應用;獲取當前時刻,為所確定的第三方應用設置時效屬性值,令設置后的屬性值T0=當前時刻;接收所述第三方應用提供的授權令牌;獲取所述授權令牌的有效性屬性值;如果所述有效性屬性值表示為有效,則進一步獲取所述授權令牌的生效時刻以及所述第三方應用的時效屬性值,如果所獲取的生效時刻早于所獲取的時效屬性值,則確定所述授權令牌無效;否則確定所述授權令牌有效。本申請所提供的技術方案,首先為存在批量撤銷的權限記錄集合配置用于的時效屬性,這樣,通過修改該屬性的取值,就可以將權限記錄更新為無效狀態(tài),從而實現(xiàn)對權限記錄的撤銷,而且該新增屬性并不會對現(xiàn)有屬性的表意造成影響;另一方面,由于該屬性是針對“集合”的屬性,因此一次修改操作就可以達到更新集合內(nèi)所有記錄狀態(tài)的效果,無需逐條更新數(shù)據(jù)庫中的授權記錄,也不會受到多條授權記錄存儲位置不同的影響,從而有效提升了批量撤銷權限的處理效率,并且降低了技術實現(xiàn)難度。應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本申請。附圖說明為了更清楚地說明本申請實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領域普通技術人員來講,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本申請的權限撤銷方法的流程示意圖;圖2是本申請的權限驗證方法的流程示意圖;圖3是本申請的權限授予、撤銷、驗證方法的整合流程示意圖;圖4是本申請的權限撤銷裝置的結構示意圖;圖5是本申請的權限驗證裝置的第一種結構示意圖;圖6是本申請的權限驗證裝置的第二種結構示意圖。具體實施方式為了使本領域技術人員更好地理解本申請中的技術方案,下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行詳細地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領域普通技術人員所獲得的所有其他實施例,都應當屬于本申請保護的范圍。對于授權方而言,每一條已開放給被授權方的權限都是以數(shù)據(jù)記錄的形式存儲在數(shù)據(jù)庫中,表1示出了一種權限記錄的數(shù)據(jù)結構示例,需要說明的是,該表中所示出的字段屬性僅用于示意性說明,并不構成對方案本身的限制:權限ID權限類型被授權方用戶ID生效時刻有效性100001讀應用1user0012016/06/01有效100002寫應用2user0022016/06/10有效100003寫應用1user0022016/06/10有效…………………………表1根據(jù)現(xiàn)有技術中的權限管理方式,授權方僅是利用每條權限記錄中的“有效性”屬性字段來控制該權限是否有效,當存在批量權限撤銷需求時,假設需要撤銷的權限記錄條數(shù)為n,則需要逐一對相應權限記錄的“有效性”屬性字段進行修改,完成所有撤銷處理對應的理論算法復雜度為O(n),如果這n條記錄存儲于不同的分庫或分表中,則實際的處理難度會進一步提高。針對上述問題,本申請?zhí)峁┑姆桨甘牵簩⒋嬖谂砍蜂N需求的權限記錄視為一個集合,并且為該集合配置一個用于整體控制有效性的屬性,以便通過一次性修改該屬性達到批量撤銷權限的效果。根據(jù)實際的使用需求,需要進行批量撤銷的權限一般都會具有某種“共性”,這個“共性”體現(xiàn)為多條權限記錄具有相同的一個或多個屬性值,例如“需要進行批量撤銷的權限都屬于應用1”、“需要撤銷的權限都屬于用戶user001”等等。確定存在批量權限撤銷需求的集合之后,為該集合配置新的屬性,該屬性的作用是:統(tǒng)一表示該集合中所有權限記錄的有效性。為了避免該新增屬性與現(xiàn)有的單條記錄中的“有效性”屬性表意沖突,在本申請中,通過加入時間維度來對該新增屬性進行定義。對于某個給定集合,其新增屬性的意義可以是:為使授權記錄集合有效,所允許的最早授權生效時刻。根據(jù)實際的應用需求,該新增屬性的數(shù)據(jù)類型可以是“date(日期)”、“time(時間)”或其他形式的時間數(shù)據(jù)類型,無論使用哪種數(shù)據(jù)類型,其取值均會被視為一個對應于該取值的具體時間點。也就是說,該屬性的取值定義了一個時間點T0,后續(xù)進行權限有效性驗證時,如果集合中某條權限記錄的生效時刻早于該時間點,則該條權限記錄將被視為無效,這種情況下,該條記錄自身的“有效性”屬性值將不再起作用;反之,如果集合中某條權限記錄的生效時刻等于或晚于該時間點,則可以進一步以該條記錄自身的“有效性”屬性值來判斷該條記錄的有效性。這樣,通過修改這個新增屬性的屬性值,就可以實現(xiàn)對集合內(nèi)所有記錄狀態(tài)的一次性無效化處理。以表1為例,假設表1所示的3條當前有效權限記錄構成一個集合(這里暫不考慮該集合對應的實際應用意義,僅用于示意性說明),那么,如果將該集合的“最早授權生效時刻”賦值為“2016/06/12”,則表1中3條權限記錄的生效時刻都早于該時刻,因此3條權限記錄都會被視為無效,從而通過一次數(shù)據(jù)修改實現(xiàn)了對3條授權記錄的批量撤銷。綜上所述,本申請?zhí)峁┑臋嘞夼砍蜂N方法可以包括如下步驟,如圖1所示:S101,確定需要執(zhí)行撤銷的授權記錄集合;這里的“集合”是根據(jù)實際的使用需求進行定義,例如需要以“被授權方”為單位進行權限批量撤銷,則可以將針對不同被授權方的權限記錄定義為不同的集合;如果需要以“用戶”為單位進行權限批量撤銷,則可以將針對不同用戶的權限記錄定義為不同的集合。當然“集合”也可以利用多個屬性維度共同定義,這里不再一一舉例說明。S102,為所確定的集合設置時效屬性值,以實現(xiàn)對該集合中授權記錄的批量撤銷。為描述方便,在下文中將以“時效屬性”來表示前述的“最早授權生效時刻”,需要注意的是,該“時效屬性”是一種針對集合的屬性,不應與針對單條記錄的“生效時刻”、“失效時刻”等屬性混淆。根據(jù)前面對“時效屬性”的定義可知,理論上只要令修改后的時效屬性值滿足:T0>集合中授權記錄的最晚生效時刻,即可實現(xiàn)對集合中授權記錄的批量撤銷。需要說明的是,對于date或time等類型的數(shù)據(jù),其數(shù)學表達式中的“>”和“<”分別可以解釋為“晚于”和“早于”。以表1為例,3條授權記錄中,最晚的生效時刻是2016/06/10,那么這里令T0=2016/06/11、T0=2016/06/12、T0=2016/06/13……只要取值晚于2016/06/10,都可以滿足批量撤銷權限的需求。根據(jù)本申請的一種實施方式,在需要執(zhí)行批量撤銷操作時,可以首先確定該集合中授權記錄的最晚生效時刻,然后設置任意T0值令其滿足“T0>集合中授權記錄的最晚生效時刻”即可。實際應用中,也可以直接將T0設置為當前時刻或未來時刻,從而避免“確定集合中授權記錄的最晚生效時刻”的步驟。如果只是要對集合對應的權限進行臨時撤銷處理,后續(xù)仍然有再授權的可能,則可以對T0的取值范圍做進一步的限定:假設能夠預先確定該集合中各條記錄的下次最早授權生效時刻,則需要令屬性值T0進一步滿足:T0<下次最早授權生效時刻。仍以表1為例,假設已知本次權限被批量撤銷后,將在2016/06/20開始開放再次授權,則為了保證在2016/06/20以后的授權不受這個時效屬性值的影響,需要令T0早于2016/06/20。根據(jù)本申請的一種實施方式:在需要執(zhí)行批量撤銷操作時,獲取當前的時刻信息,并直接令T0=當前時刻。由于“當前時刻”必然同時滿足“T0<下次最早授權生效時刻”以及“T0>集合中授權記錄的最晚生效時刻”因此該T0值既能保證對集合中已有權限的批量撤銷,又不會對后續(xù)的再次授權產(chǎn)生影響。可以理解的是,為了實現(xiàn)對時刻早晚的比較,可能需要根據(jù)實際的需求對屬性值的時間精度做進一步的要求,例如精確到小時/分/秒等等,這里不再做展開說明。相應于上述的權限批量撤銷方法,本申請還進一步提供對數(shù)據(jù)庫授權記錄有效性的驗證方法,參見圖2所示,該方法可以包括以下步驟:S201,確定待驗證的授權記錄;S202,獲取待驗證授權記錄的生效時刻;S203,獲取待驗證授權記錄所屬的授權記錄集合的時效屬性值;S204,在所獲取的生效時刻早于所獲取的時效屬性值的情況下,確定所述待驗證授權記錄無效。根據(jù)本申請方案,授權方可以根據(jù)待驗證方提供的權限證明信息,確定與該證明信息對應的授權記錄以及其所屬的集合,然后進一步獲取相關數(shù)據(jù)進行比較以驗證權限的有效性。與現(xiàn)有技術相比,本申請在驗證某條授權記錄是否有效時,需要找到該授權記錄所屬的集合,然后根據(jù)該集合的“時效屬性”判斷該條授權記錄是否有效。這里可能會涉及到兩種情形:1)僅利用本申請所增加的“時效屬性”來驗證授權記錄是否有效:這種情況下,不再考慮現(xiàn)有技術中針對單條授權記錄的“有效性”屬性,如果單條記錄的生效時刻早于集合的時效屬性值,則確定該條授權記錄無效;反之,如果單條記錄的生效時刻晚于或等于集合的時效屬性值,則確定該條授權記錄有效;2)綜合利用單條授權記錄的“有效性”以及“時效屬性”來驗證授權記錄是否有效:這種情況下,只有當“單條記錄的狀態(tài)為有效”且“單條記錄的生效時刻晚于或等于集合的時效屬性值”兩個條件同時滿足時,才會確定該條授權記錄有效,否則均會認為該條授權記錄是無效的,實際應用中,對兩個條件的判斷先后順序并不需要進行限定。在前面的實施例中,是將利用“時效屬性”定義一個時間點,使得集合中授權生效時刻早于該時間點的授權記錄失效。根據(jù)類似的思路,還可以對“時效屬性”進行其他定義,例如,在本申請的一種實施方式中,可以將“時效屬性”定義為:為使授權記錄集合有效,所允許的最晚授權生效時刻。也就是說,該屬性的取值定義了一個時間點T0,后續(xù)進行權限有效性驗證時,如果集合中某條權限記錄的生效時刻晚于該時間點,則該條權限記錄將被視為無效。相應地,在需要執(zhí)行批量撤銷操作時,處理方式變?yōu)?相對于S102):首先確定該集合中授權記錄的最早生效時刻,然后設置任意T0值令其滿足“T0>集合中授權記錄的最早生效時刻”即可。進而,在需要驗證記錄有效性時,判斷邏輯變?yōu)?相對于S204):在所獲取的生效時刻晚于所獲取的時效屬性值的情況下,確定待驗證授權記錄無效。在本實施例中,盡管改變了時效屬性的定義,但是整體的處理邏輯與前面的實施例基本類似,因此本實施例僅對區(qū)別之處進行重點說明,其他部分不再贅述。另外需要說明的是,本申請方案中所描述的“生效時刻”,所指代的是某個權限的生成或開始發(fā)生作用的一個時間點,不應狹義地理解為數(shù)據(jù)庫中的“生效時刻”字段。例如,在不同的數(shù)據(jù)庫中,用于表示上述時間點的屬性字段名稱具體可能是“權限生效時刻/時間/日期”、“權限創(chuàng)建時刻/時間/日期”、“授權時刻/時間/日期”等形式,這些并不影響本申請方案的實施。而且,在有些情況下,數(shù)據(jù)庫中可能存在多個不同的字段均能起到相似的作用。例如,在有些數(shù)據(jù)庫中,存在“權限創(chuàng)建時刻”和“權限生效時刻”兩個屬性字段,其中后者相對前者而言可能存在少量的延遲,但是根據(jù)實際的應用需求,在需要進行批量權項撤銷時,一般“創(chuàng)建”和“生效”都已經(jīng)完成,這種情況下,在應用本申請方案時,使用這兩個屬性字段作為前面方案中“生效時刻”均可以達到相同的權限批量撤銷、以及權限有效性驗證效果。這些情形也均應視為本申請的保護范圍。下面將結合一個具體的應用實例,對本申請所提供的技術方案進行說明:OAUTH(OpenAuthorization)協(xié)議為用戶資源的授權提供了一個安全的、開放而又簡易的標準。對于授權方而言,通過OAUTH授予被授權方的權限,可以令被授權方無需觸及用戶的賬戶信息(如用戶名與密碼)就能夠訪問到用戶在授權方的資源。假設當前的需求場景是:用戶通過某圖像處理應用A1來修改個人保存在網(wǎng)站B上的照片,為滿足上述需求,需要網(wǎng)站B向圖像處理應用A1開放對照片數(shù)據(jù)的修改權限,根據(jù)OAUTH協(xié)議,授權過程如圖3所示。S301,用戶請求通過應用A1修改自己保存在網(wǎng)站B上的照片;S302,應用A1請求網(wǎng)站B授權自己訪問用戶的照片;S303,網(wǎng)站B詢問用戶是否授權應用A1訪問照片;S304,用戶確認授權;S305,網(wǎng)站B返回令牌給應用A1S306,應用A1持令牌訪問用戶照片。上述的“一個令牌”即對應與授權方開放給被授權方的一條權限記錄,對于授權方而言,令牌數(shù)據(jù)保存在數(shù)據(jù)庫中,一條令牌數(shù)據(jù)的關鍵屬性可以包括:令牌標識:用來唯一區(qū)分令牌;被授權方標識:令牌頒發(fā)給哪個被授權方,例如“圖像處理應用A1”;用戶標識:令牌歸屬于哪個用戶,例如“張三”;令牌生效時刻:取值為一個具體的時間點,例如2016/06/01、2016/06/01-13:00:00等;令牌失效時刻:取值為一個具體的時間點,例如2017/06/01、2017/06/01-13:00:00等;令牌當前有效性:取值表示為有效或無效。實際使用過程中,會有大量的用戶使用應用A1來修改自己在網(wǎng)站B上的照片,因此網(wǎng)站B需要針對這些用戶分別向應用A1頒發(fā)令牌,已頒發(fā)的令牌記錄在令牌數(shù)據(jù)表中,如表2所示:令牌標識被授權方用戶生效時刻失效時刻有效性100001應用A1張三2016/06/012017/06/01有效100002應用A1李四2016/06/102017/06/10有效100003應用A1王五2016/06/122017/06/12有效100004應用A2趙六2016/06/022017/06/30有效100005應用A3小明2016/06/052017/07/05有效………………………………表2假設網(wǎng)站B希望以“被授權方”為單位,批量撤回已頒發(fā)給某個或某些特定被授權應用的令牌,那么根據(jù)本申請方案,可以根據(jù)不同的被授權方來劃分不同的令牌集合,并為每個令牌集合配置對應的“最早授權生效時刻”屬性。一種具體的實施方式是:在被授權應用的屬性表(如果該表不存在可以新建)中增加一個“最早授權生效時刻”屬性,如表3所示:被授權方最早授權生效時刻應用A1應用A2應用A3…………表3假設現(xiàn)在網(wǎng)站B出于安全目的,需要對所有授權給應用A1的令牌進行批量撤銷,那么,根據(jù)本申請方案,網(wǎng)站B可以直接對被授權應用屬性表中“應用A1”對應的“最早授權生效時刻”屬性值進行修改,如圖3的S307所示。這里采用直接將該屬性值修改為當前時刻的方式,假設當前時刻為2017/06/15,則寫入屬性值后的結果如表4所示:被授權方最早授權生效時刻應用A12017/06/15應用A2應用A3…………表4至此,對應用A1令牌的批量撤銷操作已經(jīng)完成,該操作將對表2中的前3條數(shù)據(jù)記錄(被授權方為應用A1)產(chǎn)生影響,而無需逐一對這3條記錄的“有效性”屬性進行修改。如圖3的S308-S309所示,后續(xù)當應用A1再次持令牌訪問網(wǎng)站B時,網(wǎng)站B通過查詢令牌屬性表獲得該令牌的生效時刻,并且通過查詢被授權應用屬性表獲得A1的最早授權生效時刻,對于表2中所示的前3條令牌記錄而言,由于其“生效時刻”均早于應用A1的“最早授權生效時刻”,因此這3個令牌實際都會被認定為無效。另一方面,如果后續(xù)需要再次對A1進行授權,則其授權生效時刻必然會晚于當前已記錄的“最早授權生效時刻”(這里假設撤銷令牌和再次頒發(fā)令牌不會在同一天發(fā)生,如果有該需求則適應性調(diào)整相關屬性值的數(shù)據(jù)精度即可),因此后續(xù)再次頒發(fā)給應用A1的令牌的有效性將不會受到這個“最早授權生效時刻”的影響。實際應用時,可能還需要結合令牌本身的“有效性”以及令牌集合的“最早授權生效時刻”進行綜合判斷,只有當“令牌的狀態(tài)為有效”且“令牌的生效時刻晚于或等于令牌集合的最早授權生效時刻”兩個條件同時滿足時,才會確定該令牌是有效的,如果兩個條件中任一條件無法滿足,均會認為該條令牌無效,當然,對上述兩個條件的判斷先后順序并不需要進行限定??梢?,與現(xiàn)有技術相比,應用本申請方案,對于需要批量撤銷的n條權限記錄,可以將撤銷處理對應的理論算法復雜度由O(n)縮減至O(1)。另外,由于本申請方案僅需要對數(shù)據(jù)庫做一次數(shù)據(jù)修改即可實現(xiàn)權限的批量撤銷,因此不需要考慮權限記錄的分庫或分表存儲等諸多復雜情況,有效地降低了方案的實際技術實現(xiàn)難度。相應于上述方法實施例,本申請還提供一種數(shù)據(jù)庫授權記錄批量撤銷裝置,參見圖4所示,該裝置可以包括:撤銷對象確定單元110,用于確定需要執(zhí)行撤銷的授權記錄集合;撤銷執(zhí)行單元120,用于為所確定的集合設置時效屬性值,用于為所確定的集合設置時效屬性值,令設置后的屬性值T0為當前時刻或未來時刻。在本申請的一種具體實施方式中,授權記錄集合可以為:針對相同被授權方的授權記錄。在本申請的一種具體實施方式中,針對需要執(zhí)行撤銷的授權記錄集合,在能夠確定下次最早授權生效時刻的情況下,撤銷執(zhí)行單元110可以具體用于:為所確定的集合設置時效屬性值,令修改后的屬性值T0進一步滿足:集合中授權記錄的最晚生效時刻<T0<下次最早授權生效時刻。在本申請的一種具體實施方式中,撤銷執(zhí)行單元110可以具體用于:獲取當前時刻,為所確定的集合設置時效屬性值,令修改后的屬性值T0=當前時刻。在本申請的另一種具體實施方式中,撤銷執(zhí)行單元120也可以用于:在集合配置了第一時效屬性的情況下,確定該集合中授權記錄的最晚生效時刻,并為該集合設置第一時效屬性值,令設置后的第一時效屬性值T1>所述集合中授權記錄的最晚生效時刻;或者在集合配置了第二時效屬性的情況下,確定該集合中授權記錄的最早生效時刻,并為該集合設置第二時效屬性值,令設置后的第二時效屬性值T2<所述集合中授權記錄的最早生效時刻。其中,上述的第一時效屬性用于定義一個時間點,使得集合中授權生效時刻早于該時間點的授權記錄失效,上述的第二時效屬性用于定義一個時間點,使得集合中授權生效時刻晚于該時間點的授權記錄失效。本申請還提供一種數(shù)據(jù)庫授權記錄有效性驗證裝置,如圖5所示,該裝置可以包括:驗證對象確定單元210,用于確定待驗證的授權記錄;第一獲取單元220,用于獲取待驗證授權記錄的生效時刻;第二獲取單元230,用于獲取所述待驗證授權記錄所屬的授權記錄集合的第一時效屬性值或者第二時效屬性值;驗證單元240,用于在在所獲取的生效時刻早于所獲取的第一時效屬性值的情況下,確定所述待驗證授權記錄無效;或者,在所獲取的生效時刻晚于所獲取的第二時效屬性值的情況下,確定所述待驗證授權記錄無效。參見圖6所示,在本申請的一種具體實施方式中,上述數(shù)據(jù)庫授權記錄有效性驗證裝置還可以進一步包括第三獲取單元250,用于獲取所述待驗證授權記錄的有效性屬性值;相應地,驗證單元240還可以用于:在所獲取的有效性屬性值表示為有效、且所獲取的生效時刻不早于所獲取的第一時效屬性值的情況下,確定待驗證授權記錄有效;或者在所獲取的有效性屬性值表示為有效、且所獲取的生效時刻不晚于所獲取的第二時效屬性值的情況下,確定待驗證授權記錄無效。通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本申請的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本申請各個實施例或者實施例的某些部分所述的方法。本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,在實施本申請方案時可以把各模塊的功能在同一個或多個軟件和/或硬件中實現(xiàn)。也可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。以上所述僅是本申請的具體實施方式,應當指出,對于本
技術領域:
的普通技術人員來說,在不脫離本申請原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本申請的保護范圍。當前第1頁1 2 3