一种匿名账户的鉴权方法及服务器与流程

文档序号:17158611发布日期:2019-03-20 00:19阅读:310来源:国知局
一种匿名账户的鉴权方法及服务器与流程
本发明涉及计算机
技术领域
,尤其涉及一种匿名账户的鉴权方法及服务器。
背景技术
:现如今,云服务正在快速的发展且被广泛的应用。为了保护云平台上存储的资源,用户在对资源进行操作之前需要先进行鉴权,以防止对该资源进行非法访问和非法操作。其中,匿名账户作为一种特殊的账户形式,可用于匿名访问云平台上的资源。通常情况下,可以将匿名账户的鉴权策略与普通账户的鉴权策略进行统一存储,当用户采用匿名账户进行访问时,通过遍历已存储的鉴权策略可以找出匿名账户所对应的鉴权策略,并采用该策略进行鉴权。然而,云平台上的大量资源与匿名账户生成不同的鉴权策略,在进行鉴权操作时需要遍历所有资源拥有方的鉴权策略,同时匿名账户的访问量通常较大,这会导致匿名账户的鉴权操作需要消耗大量的时间和系统资源,增加了云平台整体鉴权操作的负载,降低了鉴权操作的效率和系统性能。技术实现要素:本发明实施例提供了一种匿名账户的鉴权方法及服务器,可以减少鉴权操作消耗的时间和系统资源,降低云平台整体鉴权操作的负载,提升鉴权操作的效率和云平台系统的性能。有鉴于此,本发明提供了一种匿名账户的鉴权方法,包括:接收匿名账户鉴权请求;根据所述匿名账户鉴权请求获取资源拥有方的第一版本号,其中,所述第一版本号用于表示鉴权策略表当前版本的标识号,所述鉴权策略表包含资源集合与权限集合之间的对应关系;若所述第一版本号与第二版本号匹配,则获取线性策略表,其中,所述第二版本号用于表示所述线性策略表当前版本的标识号,所述线性策略表包含所述资源集合中每个资源内容与所述权限集合中每个权限信息之间的对应关系;从所述线性策略表中获取与所述匿名账户关联的鉴权策略集合;采用所述鉴权策略集合对所述匿名账户进行鉴权,其中,所述鉴权策略集合中包含至少一条鉴权策略,所述鉴权策略为资源内容与权限信息之间的对应关系。本发明提供了一种服务器,包括:接收模块,用于接收匿名账户鉴权请求;第一获取模块,用于根据所述接收模块接收的所述匿名账户鉴权请求获取资源拥有方的第一版本号,其中,所述第一版本号用于表示鉴权策略表当前版本的标识号,所述鉴权策略表包含资源集合与权限集合之间的对应关系;第二获取模块,用于若所述第一获取模块获取的所述第一版本号与第二版本号匹配,则获取线性策略表,其中,所述第二版本号用于表示所述线性策略表当前版本的标识号,所述线性策略表包含所述资源集合中每个资源内容与所述权限集合中每个权限信息之间的对应关系;第三获取模块,用于从所述第二获取模块获取的所述线性策略表中获取与所述匿名账户关联的鉴权策略集合;鉴权模块,用于采用所述第三获取模块获取的所述鉴权策略集合对所述匿名账户进行鉴权,其中,所述鉴权策略集合中包含至少一条鉴权策略,所述鉴权策略为资源内容与权限信息之间的对应关系。本发明提供了一种服务器,包括:存储器、处理器以及总线系统;其中,所述存储器用于存储程序;所述处理器用于执行所述存储器中的程序,包括如下步骤:接收匿名账户鉴权请求;根据所述匿名账户鉴权请求获取资源拥有方的第一版本号,其中,所述第一版本号用于表示鉴权策略表当前版本的标识号,所述鉴权策略表包含资源集合与权限集合之间的对应关系;若所述第一版本号与第二版本号匹配,则获取线性策略表,其中,所述第二版本号用于表示所述线性策略表当前版本的标识号,所述线性策略表包含所述资源集合中每个资源内容与所述权限集合中每个权限信息之间的对应关系;从所述线性策略表中获取与所述匿名账户关联的鉴权策略集合;采用所述鉴权策略集合对所述匿名账户进行鉴权,其中,所述鉴权策略集合中包含至少一条鉴权策略,所述鉴权策略为资源内容与权限信息之间的对应关系;所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。本发明提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。从以上技术方案可以看出,本发明实施例具有以下优点:本发明实施例中,提供了一种匿名账户的鉴权方法,主要为服务器先接收匿名账户鉴权请求,然后根据该匿名账户鉴权请求获取资源拥有方的第一版本号,其中,第一版本号用于表示鉴权策略表当前版本的标识号,鉴权策略表包含资源集合与权限集合之间的对应关系,若第一版本号与第二版本号匹配,则获取线性策略表,第二版本号用于表示线性策略表当前版本的标识号,线性策略表包含资源集合中每个资源与权限集合中每个权限之间的对应关系,最后服务器可以从线性策略表中获取与匿名账户关联的鉴权策略集合,以采用鉴权策略集合对所述匿名账户进行鉴权。通过上述方式,在进行匿名账户鉴权操作时,通过遍历资源拥有方与匿名账户相关的鉴权策略即可确定鉴权结果,遍历的内容不包括其他资源拥有方的鉴权策略,从而减少了鉴权操作消耗的时间和系统资源,降低了云平台整体鉴权操作的负载,提升了鉴权操作的效率和云平台系统的性能。附图说明图1为本发明实施例中鉴权逻辑的一个示意图;图2为本发明实施例中匿名账户鉴权策略的一个示意图;图3为本发明实施例中匿名账户的鉴权方法一个实施例示意图;图4为本发明实施例中更新鉴权策略表的一个实施例示意图;图5为本发明实施例中更新线性策略表的一个实施例示意图;图6为本发明实施例中服务器一个实施例示意图;图7为本发明实施例中服务器另一个实施例示意图;图8为本发明实施例中服务器另一个实施例示意图;图9为本发明实施例中服务器另一个实施例示意图;图10为本发明实施例中服务器另一个实施例示意图;图11为本发明实施例中服务器另一个实施例示意图;图12为本发明实施例中服务器另一个实施例示意图;图13为本发明实施例中服务器一个结构示意图。具体实施方式本发明实施例提供了一种匿名账户的鉴权方法及服务器,可以减少鉴权操作消耗的时间和系统资源,降低云平台整体鉴权操作的负载,提升鉴权操作的效率和云平台系统的性能。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。应理解,本发明主要用于支持匿名账号云服务的鉴权,请参阅图1,图1为本发明实施例中鉴权逻辑的一个示意图,对于匿名账号鉴权策略和普通账号鉴权策略进行独立存储,在鉴权时,需要同时读取和当前操作上下文相关的匿名账号鉴权策略和传统的普通账号鉴权策略,最后决定鉴权是否通过。其中,当前操作上下文通常是指开启云服务的时间和云服务的使用场景等。在对匿名账号进行鉴权时,需要采用与匿名账号相关的框架,请参阅图2,图2为本发明实施例中匿名账户鉴权策略的一个示意图,如图所示,整个鉴权系统包括匿名用户鉴权逻辑服务、匿名用户策略存储层以及匿名用户相关策略版本控制三部分组成。鉴权逻辑层包括了匿名策略鉴权模块,该模块用于完成实际的鉴权操作,它接收鉴权请求,获取请求中的用户、资源和操作信息,并从业务对应的授权策略数据库中读取和请求相关的策略,再进行分析和计算,最后通知用户鉴权结果,其中,这里的策略是指匿名账户的策略。匿名用户策略存储层主要包括匿名用户缓存表、匿名用户线性表、匿名用户策略表和版本,匿名用户缓存表用于直接缓存最终的鉴权结果。匿名用户线性表用于记录资源集合与权限集合展开后的关系表。匿名用户策略表用于存储传统的鉴权策略。版本即为线性表更新和鉴权相关的版本管理表,版本的关键字为资源拥有者的标识,版本内容是匿名用户和某个资源拥有者相关策略的最后一次变更的时间戳。版本控制是整个系统的核心和主控,它以账户粒度为单位去展开线性策略,并记录该策略集合的版本。当任何账户下的策略信息更新,都会更新该账户的策略表版本号,当版本号发生变化时,版本控制系统就需要重新去更新线性表。下面将从服务器的角度,对本发明中匿名账户的鉴权方法进行介绍,请参阅图3,本发明实施例中匿名账户的鉴权方法一个实施例包括:101、接收匿名账户鉴权请求;本实施例中,服务器接收用户发送的匿名账户鉴权请求,其中,该匿名账户鉴权请求通常是通过云服务平台发起的。匿名账户是云服务平台上的一种特殊的账户,云服务用户可拥有匿名账户的权限。鉴权通过后,资源拥有方可以授予用户权限,以此控制用户对资源的访问权限,包括哪些用户访问资源,以及他们访问资源的方式等。102、根据匿名账户鉴权请求获取资源拥有方的第一版本号,其中,第一版本号用于表示鉴权策略表当前版本的标识号,鉴权策略表包含资源集合与权限集合之间的对应关系;本实施例中,服务器根据匿名账户鉴权请求,先获取资源拥有方的第一版本号,具体地,该第一版本号是用于表示鉴权策略表当前版本的标识号,鉴权策略表包含资源集合与权限集合之间的对应关系,请参阅表1,表1为鉴权策略表的一个示意。表1资源拥有方资源集合权限集合aa、b、c和d允许读取且允许写入ba、c和d允许读取且不允许写入cc和d允许读取且允许写入db、c和d允许读取且不允许写入需要说明的是,表1仅为一个示意,在实际应用中,资源集合与权限集合之间还存在其他的关联方式,此处不做限定。对于每个资源拥有方所对应的鉴权策略表都具有一个第一版本号。103、若第一版本号与第二版本号匹配,则获取线性策略表,其中,第二版本号用于表示线性策略表当前版本的标识号,线性策略表包含资源集合中每个资源内容与权限集合中每个权限信息之间的对应关系;本实施例中,相应地,资源拥有方还对应于一张线性策略表,该线性策略表具有第二版本号,线性策略表包含资源集合中每个资源内容与权限集合中每个权限信息之间的对应关系,线性策略表主要用于记录资源内容、权限信息以及资源所属的根账户等。请参阅表2,表2为线性策略表的一个示意。表2需要说明的是,表2仅为一个示意,在实际应用中,资源内容与权限信息之间还存在其他的关联方式,此处不做限定。对于每个资源拥有方所对应的线性策略表都具有一个第二版本号。线性策略表所包含的对应关系可以是,一个资源内容与一个权限信息之间一一对应的关系,也可以是多个资源内容与多个权限信息之间的对应关系。线性策略表所包含的对应关系可以是,一个资源内容与一个权限信息之间一一对应的关系,也可以是多个资源内容与多个权限信息之间的对应关系。线性策略表与鉴权策略表中具有相似的内容,但是表达形式不同,线性策略表是鉴权策略表展开后的内容,即线性策略表示意资源拥有方为单位展开的一维线性策略。104、从线性策略表中获取与匿名账户关联的鉴权策略集合;本实施例中,在第一版本号与第二版本号匹配的前提下,假设匿名账户鉴权请求的是d资源,则直接从线性策略表中提取与d资源相关的权限信息,组成鉴权策略集合,且这些权限信息均与发起匿名账户鉴权请求的匿名账户相关。请参阅表3,表3为线性策略表的一个示意。表3资源拥有方资源内容权限信息ad允许读取且允许写入bd允许读取且不允许写入cd允许读取且允许写入dd允许读取且不允许写入需要说明的是,表3仅为一个示意,在实际应用中,鉴权策略集合是根据线性策略表生成的,此处不做限定,其中,鉴权策略集合中包含至少一条鉴权策略,鉴权策略为资源内容与权限信息之间的对应关系。105、采用鉴权策略集合对匿名账户进行鉴权,其中,鉴权策略集合中包含至少一条鉴权策略,鉴权策略为资源内容与权限信息之间的对应关系。本实施例中,服务器采用类似表3的鉴权策略集合对匿名账户进行鉴权,比如,匿名账户对资源拥有方a的资源内容d进行操作,则服务器可以该匿名账号对资源内容d进行读取或写入。其中,鉴权策略集合中包含了至少一条鉴权策略,该鉴权策略用于指示资源内容与权限信息之间的对应关系,可以理解的是,鉴权策略可以是线性策略表中的一部分信息,比如,线性策略表可以中包含100条鉴权策略。本发明实施例中,提供了一种匿名账户的鉴权方法,主要为服务器先接收匿名账户鉴权请求,然后根据该匿名账户鉴权请求获取资源拥有方的第一版本号,其中,第一版本号用于表示鉴权策略表当前版本的标识号,鉴权策略表包含资源集合与权限集合之间的对应关系,若第一版本号与第二版本号匹配,则获取线性策略表,第二版本号用于表示线性策略表当前版本的标识号,线性策略表包含资源集合中每个资源与权限集合中每个权限之间的对应关系,最后服务器可以从线性策略表中获取与匿名账户关联的鉴权策略集合,以采用鉴权策略集合对所述匿名账户进行鉴权。通过上述方式,在进行匿名账户鉴权操作时,通过遍历资源拥有方与匿名账户相关的鉴权策略即可确定鉴权结果,遍历的内容不包括其他资源拥有方的鉴权策略,从而减少了鉴权操作消耗的时间和系统资源,降低了云平台整体鉴权操作的负载,提升了鉴权操作的效率和云平台系统的性能。可选地,在上述图3对应的实施例的基础上,本发明实施例提供的匿名账户的鉴权方法中,根据匿名账户鉴权请求获取资源拥有方的第一版本号之后,还可以包括:若第一版本号与第二版本号不匹配,则采用鉴权策略表对匿名账户进行鉴权。本实施例中,如果鉴权策略表的第一版本号与线性策略表的第二版本号不匹配,那么服务器将采用鉴权策略表对匿名账户进行鉴权,具体地,第一版本号与第二版本号匹配可以是指两者版本号相同,也可以是两者版本号满足预设的关联关系。若第一版本号和第二版本号不匹配,则采用鉴权策略表进行鉴权。假设匿名账户对资源拥有方a的资源内容d进行操作,则服务器从鉴权策略表中先找到资源拥有方a相关的资源集合,以表1为例,得到资源集合a、b、c和d,然后从资源集合中出解析资源内容d,再解析权限集合,得到资源内容d的权限内容是“允许读取且允许写入”。其次,本发明实施例中,如果出现第一版本号与第二版本号不匹配,那么需要获取鉴权策略表,以采用鉴权策略表对匿名账户进行鉴权。通过上述方式,可以在第一版本号和第二版本号不匹配的情况,优先采用传统的鉴权策略表进行鉴权,一方面可以根据实际情况进行策略表的筛选,从而提升鉴权的灵活性,另一方面,鉴权策略表通常是优先进行更新的策略表,而线性策略表是根据鉴权策略表进行更新的策略表,因此,如果发现两者版本号不匹配,则先选择更新后的鉴权策略表,以此提升方案的实用性。可选地,在上述图3对应的实施例的基础上,本发明实施例提供的匿名账户的鉴权方法中,还可以包括:检测资源集合和/或权限集合是否发生变化;若资源集合和/或权限集合发生变化,则更新鉴权策略表。本实施例中,在服务器对匿名账户进行鉴权之前,或者对匿名账户进行鉴权之后,可以对鉴权策略表进行更新。具体地,请参阅图4,图4为本发明实施例中更新鉴权策略表的一个实施例示意图,如图所示,以单个资源拥有者为单位,假设资源拥有者为资源拥有方a,服务器先检测资源集合和/或权限集合是否发生变化,也就是检测资源拥有方a和匿名账户相关的鉴权策略内容是否发生变更,此外,服务器还需要检测权限集合是否发生变更,只要有其一发生变化,那么对应的鉴权策略就需要进行更新,同时需要更新的还包括鉴权策略表当前版本的标识号,即更新第一版本号。其次,本发明实施例中,介绍了更新鉴权策略表的过程,即服务器需要检测资源集合和/或权限集合是否发生变化,在资源集合和/或权限集合发生变化的情况下,再更新鉴权策略表。通过上述方式,可以使得服务器及时地获取与鉴权策略相关的信息,以对鉴权策略进行实时更新,从而提升方案的实用性和可行性,并且能够提升匿名账户鉴权的可靠性。可选地,在上述图3对应的实施例的基础上,本发明实施例提供的匿名账户的鉴权方法中,检测资源集合和/或权限集合是否发生变化,可以包括:检测资源集合中的资源内容是否发生变化,其中,资源内容用于表示资源拥有方所提供的资源;或,检测权限集合中的权限信息是否发生变化,其中,权限信息用于表示资源内容的使用权限;或,检测资源集合中每个资源内容与权限集合中每个权限信息之间的对应关系是否发生变化。本实施例中,服务器可以采用三类规则来判断资源集合和/或权限集合是否发生变化。第一种为服务器检测权限集合中的权限信息是否发生变化,其中,权限信息用于表示资源内容的使用权限。假设资源拥有方a对应的资源内容a,其权限信息为“允许读取且允许写入”,而后来权限信息更改为“允许读取且不允许写入”,这就可以认为是权限集合发生了变化。第二种为服务器检测资源集合中的权限信息是否发生变化,其中,资源内容用于表示资源拥有方所提供的资源。假设资源拥有方a对应的资源内容a,而后来资源内容a更改为“资源内容x”,这就可以认为是资源集合发生了变化。第三中为服务器检测资源集合中每个资源内容与权限集合中每个权限信息之间的对应关系是否发生变化。例如,资源拥有方a对应的资源内容a,其权限信息为“允许读取且允许写入”,后续更改为资源拥有方a对应的资源内容b,其权限信息为“不允许读取且允许写入”,这就可以认为是资源集合与权限集合的对应关系发生了变化。再次,本发明实施例中,分别介绍了三种判定需要对鉴权策略表进行更新的条件,即检测资源集合中的资源内容是否发生变化,检测权限集合中的权限信息是否发生变化,以及检测资源集合中每个资源内容与所述权限集合中每个权限信息之间的对应关系是否发生变化。通过上述方式,利用三个条件中的至少一个条件,即可确定是需要对鉴权策略表更新,从而提升方案的灵活性和多样性,并且通过限定这些条件来维护鉴权的可靠性。可选地,在上述图3对应的实施例的基础上,本发明实施例提供的匿名账户的鉴权方法中,更新鉴权策略表之后,还可以包括:根据更新后的鉴权策略表,对线性策略表进行更新。本实施例中,在服务器对鉴权策略表进行更新操作后,还需要根据更新了的鉴权策略表对线性策略表进行更新。策略管理包括鉴权策略表的更新以及线性策略表的更新两部分。由于这里的所有策略都是和匿名账户相关的,为了进行细粒度的版本管理,把所有策略按资源拥有方进行细分,针对每个资源拥有方的和匿名账户相关的策略定义一个版本,只要该资源拥有方相关的任何策略发生变更,对应的版本便会进行更新。请参阅图5,图5为本发明实施例中更新线性策略表的一个实施例示意图,如图所示,线性表的组织结构就是(子账户、账户、应用程序编程接口、资源和权限)这样的一维关系,所以鉴权的时候会非常直观。对于匿名账号的鉴权请求,先去查看该鉴权请求中资源拥有方对应的版本号。如果鉴权策略表当前版本的标识号和线性策略表当前版本的标识号不一致,则说明该资源拥有方近期的匿名账号的鉴权策略发生更新。对于时效性要求非常高的业务而言,就去传统的鉴权策略表里进行查找,否则,直接查找线性策略表。可以理解的是,服务器可以对版本号检查进行进一步优化,由鉴权服务注册版本变化的消息。如果版本一旦变更,则通知所有的鉴权服务,鉴权服务在策略完成线性表更新前读取原始的策略表进行鉴权。版本控制流程会以非常短的时间间隔去校验线性策略表和鉴权策略表版本的一致性,如果不一致,则进行线性表更新,更新完成后,同一个匿名账户的线性策略表和鉴权策略表当前版本的标识号就保持一致了。再次,本发明实施例中,服务器更新鉴权策略表之后,还可以根据更新后的鉴权策略表,对线性策略表进行更新。通过上述方式,如果鉴权策略表和线性策略表不匹配,则说明该资源拥有方近期的匿名用户策略发生过更新,于是需要先更新鉴权策略表,然后对线性策略表进行更新,从而保证两个策略表的同步,提升鉴权的可靠性,而对于时效性要求非常高的业务而言,就去传统的鉴权策略表里进行查找,以此保证鉴权的实时性。可选地,在上述图3对应的实施例的基础上,本发明实施例提供的匿名账户的鉴权方法中,根据匿名账户鉴权请求获取资源拥有方的第一版本号,可以包括:根据匿名账户鉴权请求确定匿名账户;根据匿名账户以及匿名账户请求的资源拥有方,从版本管理表中获取第一版本号。本实施例中,服务器获取资源拥有方的第一版本号具体可以包括如下步骤,首先,服务器根据接收到的匿名账户鉴权请求,确定对应的匿名账户,然后通过匿名账户以及该匿名账户请求的资源拥有方,从服务器中已经存储的版本管理表中读取鉴权策略表的第一版本号。在服务器存储的版本管理表中包含鉴权策略表对应的第一版本号,以及线性策略表对应的第二版本号,一旦发生策略表更新,则相应的版本号也会进行更新,版本管理表可以擦除原版本的版本号,也可以保留原版本的版本号,此处不做限定。进一步地,本发明实施例中,服务器获取资源拥有方的第一版本号的过程可以为,首先根据匿名账户鉴权请求确定匿名账户,然后根据匿名账户以及匿名账户请求的资源拥有方,从版本管理表中获取第一版本号。通过上述方式,说明了服务器如何准确地获取资源拥有方所对应的第一版本号,以此提升方案的可行性和可操作性。可选地,在上述图3对应的实施例的基础上,本发明实施例提供的匿名账户的鉴权方法中,从线性策略表中获取与匿名账户关联的鉴权策略集合,以采用鉴权策略集合对匿名账户进行鉴权之后,还可以包括:获取匿名账户对应的目标鉴权结果;将目标鉴权结果存储在缓存表中,其中,缓存表用于存储多个鉴权结果。本实施例中,在服务器采用鉴权策略集合对匿名账户进行鉴权之后,还可以进一步得到匿名账户所对应的目标鉴权结果,然后将目标鉴权结果存储在缓存表中,缓存表中存储有多个鉴权结果。请参阅表4,表4为缓存表的一个示意。表4匿名账户鉴权结果x对资源拥有方a的资源内容d允许读取且允许写入x对资源拥有方a的资源内容c允许读取且不允许写入x对资源拥有方d的资源内容a允许不读取且不允许写入x对资源拥有方c的资源内容a不允许读取且允许写入x对资源拥有方b的资源内容d允许读取且允许写入需要说明的是,表4仅为一个示意,在实际应用中,缓存表缓存表存储多个鉴权结果的,此处不做限定。其次,本发明实施例中,在服务器从线性策略表中获取与匿名账户关联的鉴权策略集合,以采用鉴权策略集合对匿名账户进行鉴权之后,还可以进一步获取匿名账户对应的目标鉴权结果,再将目标鉴权结果存储在缓存表中,而且缓存表能够存储多个鉴权结果。通过上述方式,可以使得已经做过鉴权的匿名账户再次进行鉴权时,服务器无需重新执行一遍相同的操作,而是直接从缓存表中调取对应目标鉴权结果即可,从而提升了鉴权的速度,并有利于提升鉴权性能。为便于理解,下面可以以一个具体应用场景对本发明中匿名账户的鉴权方法进行详细描述,具体为:用户甲登录云服务平台,希望在该平台上下载自己需要的学习资料。用户甲先用匿名账号登录云服务平台,云服务平台根据用户甲的匿名账户鉴权请求,从后台获取鉴权策略表当前版本的标识号,即版本v1.0.11,接下来云服务平台继续查找线性策略表当前版本的标识号,其中,线性策略表当前版本的标识号也为版本v1.0.11,于是认为鉴权策略表当前版本的标识号与线性策略表当前版本的标识号匹配,从而优先从线性策略表中提取信息。线性策略表中先找到用户甲请求的资源拥有方,假设资源拥有方为x,则从该线性策略表中找到资源拥有方x所提供的资源,包括资源1、资源2和资源3,用户甲实际需要的学习资料是资源2,因此,将从线性策略表中查找资源拥有方为x,且资源为资源2的权限信息,若该权限信息为“可读取不可写入”,则用户甲只能从云服务平台上下载该资料,但是不能对该资料中的内容进行更改。下面对本发明中的服务器进行详细描述,请参阅图6,图6为本发明实施例中服务器一个实施例示意图,服务器20包括:接收模块201,用于接收匿名账户鉴权请求;第一获取模块202,用于根据所述接收模块201接收的所述匿名账户鉴权请求获取资源拥有方的第一版本号,其中,所述第一版本号用于表示鉴权策略表当前版本的标识号,所述鉴权策略表包含资源集合与权限集合之间的对应关系;第二获取模块203,用于若所述第一获取模块202获取的所述第一版本号与第二版本号匹配,则获取线性策略表,其中,所述第二版本号用于表示所述线性策略表当前版本的标识号,所述线性策略表包含所述资源集合中每个资源内容与所述权限集合中每个权限信息之间的对应关系;第三获取模块204,用于从所述第二获取模块203获取的所述线性策略表中获取与所述匿名账户关联的鉴权策略集合;鉴权模块205,用于采用所述第三获取模块204获取的所述鉴权策略集合对所述匿名账户进行鉴权,其中,所述鉴权策略集合中包含至少一条鉴权策略,所述鉴权策略为资源内容与权限信息之间的对应关系。本实施例中,接收模块201接收匿名账户鉴权请求,第一获取模块202根据接收模块201接收的匿名账户鉴权请求获取资源拥有方的第一版本号,其中,第一版本号用于表示鉴权策略表当前版本的标识号,鉴权策略表包含资源集合与权限集合之间的对应关系,若第一获取模块202获取的第一版本号与第二版本号匹配,则第二获取模块203获取线性策略表,其中,第二版本号用于表示线性策略表当前版本的标识号,线性策略表包含资源集合中每个资源内容与权限集合中每个权限信息之间的对应关系,第三获取模块204从第二获取模块203获取的线性策略表中获取与匿名账户关联的鉴权策略集合,鉴权模块205采用第三获取模块204获取的鉴权策略集合对匿名账户进行鉴权,其中,鉴权策略集合中包含至少一条鉴权策略,鉴权策略为资源内容与权限信息之间的对应关系。本发明实施例中,提供了一种服务器,先接收匿名账户鉴权请求,然后根据该匿名账户鉴权请求获取资源拥有方的第一版本号,其中,第一版本号用于表示鉴权策略表当前版本的标识号,鉴权策略表包含资源集合与权限集合之间的对应关系,若第一版本号与第二版本号匹配,则获取线性策略表,第二版本号用于表示线性策略表当前版本的标识号,线性策略表包含资源集合中每个资源与权限集合中每个权限之间的对应关系,最后服务器可以从线性策略表中获取与匿名账户关联的鉴权策略集合,以采用鉴权策略集合对所述匿名账户进行鉴权。通过上述方式,在进行匿名账户鉴权操作时,通过遍历资源拥有方与匿名账户相关的鉴权策略即可确定鉴权结果,遍历的内容不包括其他资源拥有方的鉴权策略,从而减少了鉴权操作消耗的时间和系统资源,降低了云平台整体鉴权操作的负载,提升了鉴权操作的效率和云平台系统的性能。可选地,在上述图6所对应的实施例的基础上,请参阅图7,本发明实施例提供的服务器20的另一实施例中,所述服务器20还包括:第四获取模块206,用于在所述第一获取模块202根据所述匿名账户鉴权请求获取资源拥有方的第一版本号之后,若所述第一版本号与第二版本号不匹配,则采用所述鉴权策略表对所述匿名账户进行鉴权。其次,本发明实施例中,如果出现第一版本号与第二版本号不匹配,那么需要获取鉴权策略表,以采用鉴权策略表对匿名账户进行鉴权。通过上述方式,可以在第一版本号和第二版本号不匹配的情况,优先采用传统的鉴权策略表进行鉴权,一方面可以根据实际情况进行策略表的筛选,从而提升鉴权的灵活性,另一方面,鉴权策略表通常是优先进行更新的策略表,而线性策略表是根据鉴权策略表进行更新的策略表,因此,如果发现两者版本号不匹配,则先选择更新后的鉴权策略表,以此提升方案的实用性。可选地,在上述图6所对应的实施例的基础上,请参阅图8,本发明实施例提供的服务器20的另一实施例中,所述服务器20还包括:检测模块207a,用于检测所述资源集合和/或所述权限集合是否发生变化;第一更新模块207b,用于若所述检测模块207a检测得到所述资源集合和/或所述权限集合发生变化,则更新所述鉴权策略表。其次,本发明实施例中,介绍了更新鉴权策略表的过程,即服务器需要检测资源集合和/或权限集合是否发生变化,在资源集合和/或权限集合发生变化的情况下,再更新鉴权策略表。通过上述方式,可以使得服务器及时地获取与鉴权策略相关的信息,以对鉴权策略进行实时更新,从而提升方案的实用性和可行性,并且能够提升匿名账户鉴权的可靠性。可选地,在上述图8所对应的实施例的基础上,请参阅图9,本发明实施例提供的服务器20的另一实施例中,所述检测模块207a还包括检测单元207a1,用于检测所述资源集合中的所述资源内容是否发生变化,其中,所述资源内容用于表示所述资源拥有方所提供的资源;或,用于检测所述权限集合中的所述权限信息是否发生变化,其中,所述权限信息用于表示所述资源内容的使用权限;或,用于检测所述资源集合中每个所述资源内容与所述权限集合中每个所述权限信息之间的对应关系是否发生变化。再次,本发明实施例中,分别介绍了三种判定需要对鉴权策略表进行更新的条件,即检测资源集合中的资源内容是否发生变化,检测权限集合中的权限信息是否发生变化,以及检测资源集合中每个资源内容与所述权限集合中每个权限信息之间的对应关系是否发生变化。通过上述方式,利用三个条件中的至少一个条件,即可确定是需要对鉴权策略表更新,从而提升方案的灵活性和多样性,并且通过限定这些条件来维护鉴权的可靠性。可选地,在上述图8所对应的实施例的基础上,请参阅图10,本发明实施例提供的服务器20的另一实施例中,所述服务器20还包括:第二更新模块208,用于所述第一更新模块207b更新所述鉴权策略表之后,根据更新后的所述鉴权策略表,对所述线性策略表进行更新。再次,本发明实施例中,服务器更新鉴权策略表之后,还可以根据更新后的鉴权策略表,对线性策略表进行更新。通过上述方式,如果鉴权策略表和线性策略表不匹配,则说明该资源拥有方近期的匿名用户策略发生过更新,于是需要先更新鉴权策略表,然后对线性策略表进行更新,从而保证两个策略表的同步,提升鉴权的可靠性,而对于时效性要求非常高的业务而言,就去传统的鉴权策略表里进行查找,以此保证鉴权的实时性。可选地,在上述图6至图10中任一项所对应的实施例的基础上,请参阅图11,本发明实施例提供的服务器20的另一实施例中,所述第一获取模块202包括:确定单元2021,用于根据所述匿名账户鉴权请求确定所述匿名账户;获取单元2022,用于根据所述确定单元2021确定的所述匿名账户以及所述匿名账户请求的所述资源拥有方,从版本管理表中获取所述第一版本号。进一步地,本发明实施例中,服务器获取资源拥有方的第一版本号的过程可以为,首先根据匿名账户鉴权请求确定匿名账户,然后根据匿名账户以及匿名账户请求的资源拥有方,从版本管理表中获取第一版本号。通过上述方式,说明了服务器如何准确地获取资源拥有方所对应的第一版本号,以此提升方案的可行性和可操作性。可选地,在上述图6所对应的实施例的基础上,请参阅图12,本发明实施例提供的服务器20的另一实施例中,所述服务器20还包括:第五获取模块209a,用于在所述鉴权模块205从所述线性策略表中获取与所述匿名账户关联的鉴权策略集合,以采用所述鉴权策略集合对所述匿名账户进行鉴权之后,获取所述匿名账户对应的目标鉴权结果;存储模块209b,用于将所述第五获取模块209a获取的所述目标鉴权结果存储在缓存表中,其中,所述缓存表用于存储多个鉴权结果。其次,本发明实施例中,在服务器从线性策略表中获取与匿名账户关联的鉴权策略集合,以采用鉴权策略集合对匿名账户进行鉴权之后,还可以进一步获取匿名账户对应的目标鉴权结果,再将目标鉴权结果存储在缓存表中,而且缓存表能够存储多个鉴权结果。通过上述方式,可以使得已经做过鉴权的匿名账户再次进行鉴权时,服务器无需重新执行一遍相同的操作,而是直接从缓存表中调取对应目标鉴权结果即可,从而提升了鉴权的速度,并有利于提升鉴权性能。图13是本发明实施例提供的一种服务器结构示意图,该服务器300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在服务器300上执行存储介质330中的一系列指令操作。服务器300还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。上述实施例中由服务器所执行的步骤可以基于该图13所示的服务器结构。其中,cpu322用于执行如下步骤:接收匿名账户鉴权请求;根据所述匿名账户鉴权请求获取资源拥有方的第一版本号,其中,所述第一版本号用于表示鉴权策略表当前版本的标识号,所述鉴权策略表包含资源集合与权限集合之间的对应关系;若所述第一版本号与第二版本号匹配,则获取线性策略表,其中,所述第二版本号用于表示所述线性策略表当前版本的标识号,所述线性策略表包含所述资源集合中每个资源内容与所述权限集合中每个权限信息之间的对应关系;从所述线性策略表中获取与所述匿名账户关联的鉴权策略集合;采用所述鉴权策略集合对所述匿名账户进行鉴权,其中,所述鉴权策略集合中包含至少一条鉴权策略,所述鉴权策略为资源内容与权限信息之间的对应关系。可选地,cpu322还用于执行如下步骤:若所述第一版本号与第二版本号不匹配,则采用所述鉴权策略表对所述匿名账户进行鉴权。可选地,cpu322还用于执行如下步骤:检测所述资源集合和/或所述权限集合是否发生变化;若所述资源集合和/或所述权限集合发生变化,则更新所述鉴权策略表。可选地,cpu322具体用于执行如下步骤:检测所述资源集合中的所述资源内容是否发生变化,其中,所述资源内容用于表示所述资源拥有方所提供的资源;或,检测所述权限集合中的所述权限信息是否发生变化,其中,所述权限信息用于表示所述资源内容的使用权限;或,检测所述资源集合中每个所述资源内容与所述权限集合中每个所述权限信息之间的对应关系是否发生变化。可选地,cpu322还用于执行如下步骤:根据更新后的所述鉴权策略表,对所述线性策略表进行更新。可选地,cpu322具体用于执行如下步骤:根据所述匿名账户鉴权请求确定所述匿名账户;根据所述匿名账户以及所述匿名账户请求的所述资源拥有方,从版本管理表中获取所述第一版本号。可选地,cpu322还用于执行如下步骤:获取所述匿名账户对应的目标鉴权结果;将所述目标鉴权结果存储在缓存表中,其中,所述缓存表用于存储多个鉴权结果。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1