CN112003852B - 资源访问控制方法、装置、设备及存储介质 - Google Patents

资源访问控制方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112003852B
CN112003852B CN202010837980.6A CN202010837980A CN112003852B CN 112003852 B CN112003852 B CN 112003852B CN 202010837980 A CN202010837980 A CN 202010837980A CN 112003852 B CN112003852 B CN 112003852B
Authority
CN
China
Prior art keywords
access
token
access token
attribute
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010837980.6A
Other languages
English (en)
Other versions
CN112003852A (zh
Inventor
黄坤
冯晓峰
杨帆
董亮
林明
张艺榕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN202010837980.6A priority Critical patent/CN112003852B/zh
Publication of CN112003852A publication Critical patent/CN112003852A/zh
Application granted granted Critical
Publication of CN112003852B publication Critical patent/CN112003852B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供了一种资源访问控制方法、装置、设备及存储介质,该方法包括:获取携带访问令牌的访问请求;确定所述访问令牌的第一时效属性,并确定与所述访问令牌对应的刷新令牌的第二时效属性;根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略。本说明书实施例可以降低资源访问控制的成本,提高资源访问控制的效率。

Description

资源访问控制方法、装置、设备及存储介质
技术领域
本说明书涉及网络权限控制技术领域,尤其是涉及一种资源访问控制方法、装置、设备及存储介质。
背景技术
在客户端与服务端的网络通信中,为了减少服务端频繁查询数据库,减轻服务端的压力,客户端在访问服务端的资源时,需要获得一个服务端生成的令牌(token),并在向服务端发起的访问请求中携带该令牌。token是获取受保护资源的凭证,因此应具有生命周期。否则,一次登录便可永久使用,认证功能也就失去了其意义。
公开号为CN109787984A的专利申请公开了一种第三方授权token管理方法。其主站系统设置有效期,当token即将过期时对第三方接入系统进行刷新,并将刷新结果存入主站系统,进而使得token在主站系统可以自动刷新。然而,在CN109787984A中,每个用户的token授权时间都是统计独立的,不同用户的token授权时间一般不同,导致其即将过期的时间也存在差异性,如果存在10万个用户,就需要监测刷新10万个不同用户的即将过期的时间进行刷新处理,这样无论是在服务端通过短时间轮询的方式不停的查询-更新方式,还是在客户端增加新的进程和线程的方式进行处理,都需要耗费大量的服务端或者客户端系统的CPU和内存资源,性能较低。
公开号为CN110266703A的专利申请公开了一种令牌刷新方法。其针对token过期刷新问题进行了研究,解决了当大量的网络请求需要获取新的token时,目前无法有效地对并发地刷新过期token进行有效地处理的问题,解决思路是在客户端刷新操作加上同步锁,刷新操作成功发送已刷新token的网络请求,持续、有序地完成对网络请求token的刷新操作。然而,CN110266703A的处理逻辑局限于客户端,是在类似于基于android操作系统的终端上执行的java语言;如果在web页面,则需要JavaScript处理,如果要在基于ios操作系统的设备,则需要用objectC语言处理;加锁和同步的处理随着终端数目和接入平台的增加,每次都需要对相同的逻辑在不同异构差异化平台进行重新编码,代码量较大。不仅如此,CN110266703A中同步锁的并发和顺序执行处理,会影响系统并发性和吞吐率,从而影响了系统效率。
发明内容
本说明书实施例的目的在于提供一种资源访问控制方法、装置、设备及存储介质,以降低资源访问控制的成本,提高资源访问控制的效率。
为达到上述目的,一方面,本说明书实施例提供了一种资源访问控制方法,包括:
获取携带访问令牌的访问请求;
确定所述访问令牌的第一时效属性,并确定与所述访问令牌对应的刷新令牌的第二时效属性;
根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略。
本说明书一实施例的资源访问控制方法中,所述根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略,包括:
当所述访问令牌为对应用户当前的访问令牌,所述访问令牌已失效,且所述刷新令牌未失效时,向对应客户端返回对应令牌状态错误信息提示,以便所述客户端发起令牌刷新请求。
本说明书一实施例的资源访问控制方法中,所述方法还包括:
当接收到所述令牌刷新请求时,刷新所述访问令牌和所述刷新令牌,更新对应用户当前的访问令牌及上次失效的访问令牌,并向对应客户端返回刷新后形成的新访问令牌,以便所述客户端发起携带所述新访问令牌的访问请求。
本说明书一实施例的资源访问控制方法中,所述根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略,还包括:
当所述访问令牌为对应用户上次失效的访问令牌,所述访问令牌的失效时长未超过所述失效容限,且所述刷新令牌未失效时,允许访问对应的被保护资源。
本说明书一实施例的资源访问控制方法中,所述根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略,还包括:
当所述访问令牌为对应用户当前的访问令牌,且所述访问令牌未失效时,允许访问对应的被保护资源。
本说明书一实施例的资源访问控制方法中,所述根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略,包括:
当所述访问令牌已失效,且所述刷新令牌已失效时,拒绝访问对应的被保护资源,并重定向所述访问请求至登录界面。
所述访问令牌的有效期属性及次序属性。
本说明书一实施例的资源访问控制方法中,所述确定所述访问令牌的第一时效属性,包括:
根据所述访问令牌的创建时间以及有效时长,确定所述访问令牌的过期时间;
判断所述访问请求携带的请求时间是否晚于所述访问令牌的过期时间;
如果所述访问请求携带的请求时间晚于所述访问令牌的过期时间,则确认所述访问令牌的有效期属性为访问令牌已失效。
本说明书一实施例的资源访问控制方法中,所述确定所述访问令牌的第一时效属性,还包括:
如果所述访问请求携带的请求时间不晚于所述访问令牌的过期时间,则确认所述访问令牌的有效期属性为访问令牌未失效。
本说明书一实施例的资源访问控制方法中,所述确定所述访问令牌的第一时效属性,还包括:
根据所述访问令牌查询服务端缓存,以确认所述访问令牌是否与对应用户当前的访问令牌相同;
如果所述访问令牌与对应用户当前的访问令牌相同,则确认所述访问令牌的次序属性为对应用户当前的访问令牌。
本说明书一实施例的资源访问控制方法中,所述确定所述访问令牌的第一时效属性,还包括:
如果所述访问令牌与对应用户当前的访问令牌不同,则确认所述访问令牌的次序属性为对应用户上次失效的访问令牌。
本说明书一实施例的资源访问控制方法中,所述第二时效属性包括:与所述访问令牌对应的刷新令牌的有效期属性。
另一方面,本说明书实施例还提供了一种资源访问控制装置,包括:
请求获取模块,用于获取携带访问令牌的访问请求;
属性确定模块,用于确定所述访问令牌的第一时效属性,并确定与所述访问令牌对应的刷新令牌的第二时效属性;
策略确定模块,用于根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略。
另一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器执行时实现上述的资源访问控制方法。
另一方面,本说明书实施例还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的资源访问控制方法。
由以上本说明书实施例提供的技术方案可见,在本说明书的实施例中,在获取到携带访问令牌的访问请求时,可以综合考虑该访问令牌的第一时效属性,与问令牌对应的刷新令牌的第二时效属性,以及预设的失效容限,确定针对访问请求的访问控制策略。由于失效容限可以在适当放宽安全性的同时,降低令牌频率,从而降低或减缓了并发令牌刷新带来的处理压力和资源消耗。而且,由于本说明书的实施例是在服务端实现的,其避免了现有技术在客户端因操作系统不同,需要重复编码的问题;同时,本说明书的实施例避免了现有技术因采用同步锁等机制而影响系统并发性和吞吐率的问题,从而也降低了资源访问控制的成本。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本说明书一些实施例中资源访问控制方法的流程图;
图2为本说明书一实施例中资源访问控制方法的详细流程图;
图3为本说明书一些实施例中资源访问控制装置的结构框图;
图4为本说明书一些实施例中计算机设备的结构框图。
【附图标记说明】
31、请求获取模块;
32、属性确定模块;
33、策略确定模块;
402、计算机设备;
404、处理设备;
406、存储资源;
408、驱动机构;
410、输入/输出模块;
412、输入设备;
414、输出设备;
416、呈现设备;
418、图形用户接口;
420、网络接口;
422、通信链路;
424、通信总线。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
本说明书实施例的资源访问控制方法可以应用于第三方应用服务端(以下简称服务端)授权登录的场景。参考图1所示,在本说明书一些实施例中,所述资源访问控制方法可以包括以下步骤:
S101、获取携带访问令牌的访问请求。
本说明书的实施例中,获取携带访问令牌(accesstoken)的访问请求一般是指:接收客户端发送的访问请求,所述访问请求中携带有accesstoken。访问令牌是服务端生成的一串字符串,以作客户端进行请求的一个令牌。当客户端首次登录访问后,服务端可以生成一个accesstoken,并将accesstoken和用户业务相关信息(例如用户名或用户标识,用户性别,用户省份等)返回给客户端。此后客户端再次访问时,其访问请求中可以携带accesstoken,而无需再次使用用户名和密码。如此,对于用户而言,可以减少访问操作,提高用户体验。而对于服务端而言,则减少了频繁查询用户名和密码,以进行对比判断并作出相应提示的操作,从而减轻了服务端的压力,有利于提高服务端的健壮性能。
在本说明书一实施例中,以超文本传输协议(hypertext transfer protocol,简称http)请求为例,客户端可以在http头(header)中携带名为授权(Authorization)的头信息,即客户端可以在发起访问请求时,将accesstoken添加至http头中。例如,在一示例性实施例中,一种携带accesstoken的统一资源定位符(Uniform Resource Locator,简称url)请求可以描述如下:
Figure BDA0002640382430000061
上述-H"Authorization:Bearer xxxx"表示携带xxxx字符串,该字符串即为accesstoken,其作为请求的额外头。http://myhost:port/protect_resource_path1表示受保护的资源对应的url。
假设一个url1(url1=http://myhost:port/protect_resource_path1)请求可以记为request(accesstoken,url1,t1),且上述所述受保护的资源url,一般是被oauth2保护的web服务(例如http://myhost:port/protect_resource_path);如果不携带上述accesstoken作为请求的额外头,则无法认证通过,请求会被服务端返回未授权通过等错误信息。其中,t1为请求时间。在一示例性实施例中,错误信息可以有不同的类型。例如,
1、令牌是伪造的,错误是类型a;
2、访问令牌失效,刷新令牌未失效,对应请求错误类型b;
3、访问令牌和刷新令牌都失效了,对应请求错误类型是类型c。
S102、确定所述访问令牌的第一时效属性,并确定与所述访问令牌对应的刷新令牌的第二时效属性。
accesstoken是获取受保护资源的凭证,应当具有过期时间。否则一次登录便可永久使用,认证功能就失去意义。一般地,accesstoken的有效期应当相对较短,以利于保护受保护的资源。而本说明书的实施例中,除了accesstoken外,还可以有另外一种token,即刷新令牌(refreshtoken)。通常情况下,与accesstoken相比,refreshtoken的有效期会比较长,当accesstoken由于过期而失效时,使用refreshtoken就可以获取到新的accesstoken,如果refreshtoken也失效了,用户就只能通过客户端重新登录了。
在本说明书一些实施例中,accesstoken的第一时效属性可以包括accesstoken的有效期(或生命周期)属性及次序属性。其中,accesstoken的有效期属性即为accesstoken是否位于有效期内。accesstoken的次序属性即为accesstoken是用户当前的accesstoken,还是用户上次失效的accesstoken。refreshtoken的第二时效属性可以包括refreshtoken的有效期(或生命周期)属性。因此,在本说明书的实施例中,accesstoken的第一时效属性,以及accesstoken对应的refreshtoken的第二时效属性,可以为后续选择何种访问控制策略提供精确的参考依据。
在本说明书一实施例中,若用户当前的accesstoken,命名为current_accesstoken(current_accesstoken是服务端或数据库缓存的该用户最新的accesstoken);current_accesstoken的有效时长命名为expduration_current_accesstoken;current_accesstoken的创建时间命名为createtime_current_accesstoken;current_accesstoken的过期时间命名为exptime_current_accesstoken,则显然:
exptime_current_accesstoken=
createtime_current_accesstoken+expduration_current_accesstoken。即根据访问令牌的创建时间(createtime_current_accesstoken)以及有效时长(expduration_current_accesstoken),可以确定访问令牌的过期时间(exptime_current_accesstoken)。
因此,通过将请求时间(即访问请求中携带的访问请求时间)与exptime_current_accesstoken进行比较,以判断访问请求携带的请求时间是否晚于访问令牌的过期时间,从而就可以确定accesstoken的有效期属性,即可以确定accesstoken是否过期(或失效)。具体的,如果访问请求携带的请求时间晚于访问令牌的过期时间,则可以确认访问令牌的有效期属性为访问令牌已失效;否则,可以确认访问令牌的有效期属性为访问令牌未失效。
此外,若用户上一次失效的accesstoken命名为previous_accesstoken;很显然,如果是首次登陆,previous_accesstoken为空;previous_accesstoken失效以后通过某个刷新机制(后文会介绍到)会更新为current_accesstoken。accesstoken的次序属性可以存储于服务端或数据库中,即服务端通过查询自身缓存或查询数据库,即可以确定访问请求中携带的accesstoken是current_accesstoken,还是previous_accesstoken。具体的,可以根据访问令牌查询服务端缓存,以确认该访问令牌是否与对应用户当前的访问令牌相同;如果该访问令牌与对应用户当前的访问令牌相同,则可以确认访问令牌的次序属性为对应用户当前的访问令牌(即current_accesstoken);否则可以确认该访问令牌的次序属性为对应用户上次失效的访问令牌(即previous_accesstoken)。
若previous_accesstoken的有效时长命名为expduration_previous_accesstoken;previous_accesstoken的创建时间命名为createtime_previous_accesstoken;previous_accesstoken的过期时间命名为exptime_previous_accesstoken。则显然:
exptime_previous_accesstoken=
createtime_previous_accesstoken+expduration_previous_accesstoken。
与上述current_accesstoken和previous_accesstoken类似,refreshtoken也有相应的创建时间、有效时长和过期时间。因此,通过将请求时间(即访问请求中携带的访问请求时间)与refreshtoken的过期时间进行比较,就可以确定accesstoken的有效期属性,即可以确定accesstoken是否过期(或失效)。
S103、根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略。
在本说明书一些实施例中,失效容限(expiration_tolerance)是指accesstoken过期以后依然可以被使用的容忍时间长度。通过设置失效容限可以在适当放宽安全性的同时,降低accesstoken频率,从而可以降低或减缓并发accesstoken刷新带来的处理压力和资源消耗。
在本说明书一些实施例中,expiration_tolerance、expduration_current_accesstoken和expduration_refreshtoken可以根据需要预先配置。一般而言,expiration_tolerance可以相对较短,expduration_refreshtoken可以相对较长,expduration_current_accesstoken的长度可以介于expiration_tolerance和expduration_refreshtoken之间。例如,在一示例性实施例中,在服务端在首次启动资源访问控制功能之前,可以将expiration_tolerance、expduration_current_accesstoken和expduration_refreshtoken进行如下配置:
expiration_tolerance=1min(一分钟);
expduration_current_accesstoken=1day(一天);
expduration_refreshtoken=7day(七天)。
在本说明书一些实施例中,所述根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略,可以包括:当所述访问令牌为对应用户当前的访问令牌,所述访问令牌已失效,且所述刷新令牌未失效时(例如对应于图2中的eventA,即A类事件),可以向对应客户端返回对应令牌状态错误信息提示,以便所述客户端发起令牌刷新请求。
当客户端发起携带accesstoken的访问请求访问目标资源时,其实际上可能是在短时间内发起了多个请求。例如,在一示例性实施例中,客户端请求打开某个目标页面一般存在N个请求,分别命名为:
request(accesstoken,url(1),t(1));
request(accesstoken,url(2),t(2));
request(accesstoken,url(3),t(3));
……
request(accesstoken,urlN,t(N))。
在当前请求中携带的访问令牌已经失效且该访问令牌对应的刷新令牌未失效的情况下,如果该访问令牌为用户当前的访问令牌,则表明该请求为所述N个请求中的第一个请求(request(accesstoken,url(1),t(1))),为了保护目标资源。可以向对应客户端返回对应令牌状态错误信息提示,以便客户端发起令牌刷新请求。相应地,当接收到所述令牌刷新请求时,服务端可以刷新所述访问令牌和所述刷新令牌(即生成new_accesstoken和new_refreshtoken),更新对应用户当前的访问令牌及上次失效的访问令牌(即将new_accesstoken作为current_accesstoken,并将原current_accesstoken作为previous_accesstoken),并向对应客户端返回刷新后形成的新访问令牌,以便所述客户端发起携带所述新访问令牌的访问请求。此后,若用于在新访问令牌的有效期内再次发起访问请求,则服务端显然应允许访问被保护的目标资源。
在本说明书一些实施例中,所述根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略,还可以包括:当所述访问令牌为对应用户上次失效的访问令牌,所述访问令牌的失效时长未超过所述失效容限,且所述刷新令牌未失效时(例如对应于图2中的eventB,即B类事件),可以允许访问对应的被保护资源。
在图2所示的示例性实施例中,可以定义当前时刻为current_time,因为请求中携带的访问令牌可以匹配用户上次失效的访问令牌;在前述定义里面,上次失效的令牌过期时刻是exptime_previous_accesstoken;则访问令牌的失效时长,可以进一步通过current_time-exptime_previous_accesstoken获得。进一步的,eventB(即B类事件),则需满足条件:current_time-exptime_previous_accesstoken<=expiration_tolerance。在本示例性实施例中,expiration_tolerance可以设置为1min,满足上述公式的物理含义是:当前访问令牌刚刚过期,并且在后端缓存中更新为previous_accesstoken,当前携带的访问令牌过期时间不超过一分钟,访问令牌的失效时长未超过所述失效容限。
在上文中已经阐明,客户端请求打开某个目标页面存在一般N个请求,在当前请求中携带的访问令牌已经失效且该访问令牌对应的刷新令牌未失效的情况下,如果该访问令牌为用户上次失效的访问令牌,则表明该请求不是所述N个请求中的第一个请求(request(accesstoken,url(1),t(1))),即此前至少已经有N个请求中的部分请求已成功访问,且将前次某个成功请求的current_accesstoken替换为previous_accesstoken,从而进一步使得本次请求中,访问令牌匹配为用户上次失效的访问令牌。有鉴于此,为了降低服务端刷新令牌的压力并有利于提高访问成功率,若此时该访问令牌的失效时长未超过失效容限,则可以允许访问被保护资源。
在本说明书一些实施例中,所述根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略,还可以包括:当所述访问令牌为对应用户当前的访问令牌,且所述访问令牌未失效时(例如对应于图2中的eventC,即C类事件),可以允许访问对应的被保护资源。显然,由于访问令牌未过有效期,允许访问对应的被保护资源是合理的。
在本说明书一些实施例中,所述根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略,还可以包括:当所述访问令牌已失效,且所述刷新令牌已失效时,拒绝访问对应的被保护资源,并重定向所述访问请求至登录界面。由于访问令牌和刷新令牌均已失效,为了有利于保护被保护资源,可以拒绝访问,并可以重定向所述访问请求至登录界面,以便于用户重新登录。
由此可见,在本说明书的实施例中,在获取到携带访问令牌的访问请求时,可以综合考虑该访问令牌的第一时效属性,与问令牌对应的刷新令牌的第二时效属性,以及预设的失效容限,确定针对访问请求的访问控制策略。由于失效容限可以在适当放宽安全性的同时,降低令牌频率,从而降低或减缓了并发令牌刷新带来的处理压力和资源消耗。而且,由于本说明书的实施例是在服务端实现的,其避免了现有技术在客户端因操作系统不同,需要重复编码的问题;同时,本说明书的实施例避免了现有技术因采用同步锁等机制而影响系统并发性和吞吐率的问题,从而也降低了资源访问控制的成本。
与上述的资源访问控制方法对应,本说明书的实施例还提供了资源访问控制装置。参考图3所示,在本说明书的一些实施例中,所述资源访问控制装置可以包括:
请求获取模块31,可以用于获取携带访问令牌的访问请求。
属性确定模块32,可以用于确定所述访问令牌的第一时效属性,并确定与所述访问令牌对应的刷新令牌的第二时效属性。
策略确定模块33,可以用于根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略。
在本说明书的一些实施例的资源访问控制装置中,所述根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略,可以包括:
当所述访问令牌为对应用户当前的访问令牌,所述访问令牌已失效,且所述刷新令牌未失效时,向对应客户端返回对应令牌状态错误信息提示,以便所述客户端发起令牌刷新请求。
在本说明书的一些实施例的资源访问控制装置中,所述装置还可以包括令牌刷新模块。所述令牌刷新模块可以用于当接收到所述令牌刷新请求时,刷新所述访问令牌和所述刷新令牌,更新对应用户当前的访问令牌及上次失效的访问令牌,并向对应客户端返回刷新后形成的新访问令牌,以便所述客户端发起携带所述新访问令牌的访问请求。
在本说明书的一些实施例的资源访问控制装置中,所述根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略,还包括:
当所述访问令牌为对应用户上次失效的访问令牌,所述访问令牌的失效时长未超过所述失效容限,且所述刷新令牌未失效时,允许访问对应的被保护资源。
在本说明书的一些实施例的资源访问控制装置中,所述根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略,还包括:
当所述访问令牌为对应用户当前的访问令牌,且所述访问令牌未失效时,允许访问对应的被保护资源。
在本说明书的一些实施例的资源访问控制装置中,所述根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略,包括:
当所述访问令牌已失效,且所述刷新令牌已失效时,拒绝访问对应的被保护资源,并重定向所述访问请求至登录界面。
在本说明书的一些实施例的资源访问控制装置中,所述确定所述访问令牌的第一时效属性,可以包括:
根据所述访问令牌的创建时间以及有效时长,确定所述访问令牌的过期时间;
判断所述访问请求携带的请求时间是否晚于所述访问令牌的过期时间;
如果所述访问请求携带的请求时间晚于所述访问令牌的过期时间,则确认所述访问令牌的有效期属性为访问令牌已失效。
在本说明书的一些实施例的资源访问控制装置中,所述确定所述访问令牌的第一时效属性,还可以包括:
如果所述访问请求携带的请求时间不晚于所述访问令牌的过期时间,则确认所述访问令牌的有效期属性为访问令牌未失效。
在本说明书的一些实施例的资源访问控制装置中,所述确定所述访问令牌的第一时效属性,还可以包括:
根据所述访问令牌查询服务端缓存,以确认所述访问令牌是否与对应用户当前的访问令牌相同;
如果所述访问令牌与对应用户当前的访问令牌相同,则确认所述访问令牌的次序属性为对应用户当前的访问令牌。
在本说明书的一些实施例的资源访问控制装置中,所述确定所述访问令牌的第一时效属性,还可以包括:
如果所述访问令牌与对应用户当前的访问令牌不同,则确认所述访问令牌的次序属性为对应用户上次失效的访问令牌。
在本说明书的一些实施例的资源访问控制装置中,所述第二时效属性可以包括:与所述访问令牌对应的刷新令牌的有效期属性。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
与上述的资源访问控制方法对应,本说明书的实施例还提供了计算机设备。参考图4所示,在本说明书的一些实施例中所述计算机设备402可以包括一个或多个处理设备404,诸如一个或多个中央处理单元(CPU)或图形处理器(GPU),每个处理单元可以实现一个或多个硬件线程。计算机设备402还可以包括任何存储资源406,其用于存储诸如代码、设置、数据等之类的任何种类的信息,一具体实施方式中,存储资源406上并可在处理设备404上运行的计算机程序,计算机程序时实现前述任一项所述的学习参与度识别网络模型的建立方法或前述任一项所述的学习参与度识别方法。非限制性的,比如,存储资源406可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备402的固定或可移除部件。在一种情况下,当处理设备404执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备402可以执行相关联指令的任一操作。计算机设备402还包括用于与任何存储器交互的一个或多个驱动机构408,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备402还可以包括输入/输出模块410(I/O),其用于接收各种输入(经由输入设备412)和用于提供各种输出(经由输出设备414))。一个具体输出机构可以包括呈现设备416和相关联的图形用户接口(GUI)418。在其他实施例中,还可以不包括输入/输出模块410(I/O)、输入设备412以及输出设备414,仅作为网络中的一台计算机设备。计算机设备402还可以包括一个或多个网络接口420,其用于经由一个或多个通信链路422与其他设备交换数据。一个或多个通信总线424将上文所描述的部件耦合在一起。
通信链路422可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路422可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
虽然上文描述的过程流程包括以特定顺序出现的多个操作,但是,应当清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
虽然上文描述的过程流程包括以特定顺序出现的多个操作,但是,应当清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
本申请是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算机设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种资源访问控制方法,其特征在于,包括:
获取携带访问令牌的访问请求;
确定所述访问令牌的第一时效属性,并确定与所述访问令牌对应的刷新令牌的第二时效属性;所述第一时效属性包括所述访问令牌的有效期属性及次序属性;所述第二时效属性包括:与所述访问令牌对应的刷新令牌的有效期属性;
根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略,包括:当所述访问令牌为对应用户上次失效的访问令牌,所述访问令牌的失效时长未超过所述失效容限,且所述刷新令牌未失效时,允许访问对应的被保护资源。
2.如权利要求1所述的资源访问控制方法,其特征在于,所述根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略,包括:
当所述访问令牌为对应用户当前的访问令牌,所述访问令牌已失效,且所述刷新令牌未失效时,向对应客户端返回对应令牌状态错误信息提示,以便所述客户端发起令牌刷新请求。
3.如权利要求2所述的资源访问控制方法,其特征在于,还包括:
当接收到所述令牌刷新请求时,刷新所述访问令牌和所述刷新令牌,更新对应用户当前的访问令牌及上次失效的访问令牌,并向对应客户端返回刷新后形成的新访问令牌,以便所述客户端发起携带所述新访问令牌的访问请求。
4.如权利要求1所述的资源访问控制方法,其特征在于,所述根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略,还包括:
当所述访问令牌为对应用户当前的访问令牌,且所述访问令牌未失效时,允许访问对应的被保护资源。
5.如权利要求1所述的资源访问控制方法,其特征在于,所述根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略,包括:
当所述访问令牌已失效,且所述刷新令牌已失效时,拒绝访问对应的被保护资源,并重定向所述访问请求至登录界面。
6.如权利要求1所述的资源访问控制方法,其特征在于,所述确定所述访问令牌的第一时效属性,包括:
根据所述访问令牌的创建时间以及有效时长,确定所述访问令牌的过期时间;
判断所述访问请求携带的请求时间是否晚于所述访问令牌的过期时间;
如果所述访问请求携带的请求时间晚于所述访问令牌的过期时间,则确认所述访问令牌的有效期属性为访问令牌已失效。
7.如权利要求6所述的资源访问控制方法,其特征在于,所述确定所述访问令牌的第一时效属性,还包括:
如果所述访问请求携带的请求时间不晚于所述访问令牌的过期时间,则确认所述访问令牌的有效期属性为访问令牌未失效。
8.如权利要求1所述的资源访问控制方法,其特征在于,所述确定所述访问令牌的第一时效属性,还包括:
根据所述访问令牌查询服务端缓存,以确认所述访问令牌是否与对应用户当前的访问令牌相同;
如果所述访问令牌与对应用户当前的访问令牌相同,则确认所述访问令牌的次序属性为对应用户当前的访问令牌。
9.如权利要求8所述的资源访问控制方法,其特征在于,所述确定所述访问令牌的第一时效属性,还包括:
如果所述访问令牌与对应用户当前的访问令牌不同,则确认所述访问令牌的次序属性为对应用户上次失效的访问令牌。
10.一种资源访问控制装置,其特征在于,包括:
请求获取模块,用于获取携带访问令牌的访问请求;
属性确定模块,用于确定所述访问令牌的第一时效属性,并确定与所述访问令牌对应的刷新令牌的第二时效属性;所述第一时效属性包括所述访问令牌的有效期属性及次序属性;所述第二时效属性包括:与所述访问令牌对应的刷新令牌的有效期属性;
策略确定模块,用于根据所述第一时效属性、所述第二时效属性及预设的失效容限,确定针对所述访问请求的访问控制策略,包括:当所述访问令牌为对应用户上次失效的访问令牌,所述访问令牌的失效时长未超过所述失效容限,且所述刷新令牌未失效时,允许访问对应的被保护资源。
11.一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器执行时实现权利要求1-9任意一项所述的资源访问控制方法。
12.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-9任意一项所述的资源访问控制方法。
CN202010837980.6A 2020-08-19 2020-08-19 资源访问控制方法、装置、设备及存储介质 Active CN112003852B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010837980.6A CN112003852B (zh) 2020-08-19 2020-08-19 资源访问控制方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010837980.6A CN112003852B (zh) 2020-08-19 2020-08-19 资源访问控制方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112003852A CN112003852A (zh) 2020-11-27
CN112003852B true CN112003852B (zh) 2022-11-25

Family

ID=73473672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010837980.6A Active CN112003852B (zh) 2020-08-19 2020-08-19 资源访问控制方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112003852B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114520744A (zh) * 2022-02-28 2022-05-20 佛山众陶联供应链服务有限公司 一种web系统前端自动鉴权和登录不刷新的方法及系统
CN114978605A (zh) * 2022-04-25 2022-08-30 联仁健康医疗大数据科技股份有限公司 页面访问方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108449187A (zh) * 2018-06-19 2018-08-24 福建天泉教育科技有限公司 一种令牌刷新的方法及装置
CN110445615A (zh) * 2019-07-12 2019-11-12 平安普惠企业管理有限公司 网络请求安全性验证方法、装置、介质及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9350726B2 (en) * 2014-09-11 2016-05-24 International Business Machines Corporation Recovery from rolling security token loss
US10547622B2 (en) * 2017-06-30 2020-01-28 International Busines Machines Corporation Extended OAuth architecture support in a scalable environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108449187A (zh) * 2018-06-19 2018-08-24 福建天泉教育科技有限公司 一种令牌刷新的方法及装置
CN110445615A (zh) * 2019-07-12 2019-11-12 平安普惠企业管理有限公司 网络请求安全性验证方法、装置、介质及电子设备

Also Published As

Publication number Publication date
CN112003852A (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
CN110086822B (zh) 面向微服务架构的统一身份认证策略的实现方法及系统
CN110381078B (zh) 令牌续期的确定方法、装置、电子设备及存储介质
US11863677B2 (en) Security token validation
US7308502B2 (en) Method and architecture to provide client session failover
US20160205108A1 (en) Identity management and authentication system for resource access
US8898318B2 (en) Distributed services authorization management
CN112003852B (zh) 资源访问控制方法、装置、设备及存储介质
WO2007060034A1 (en) Improved single sign on
US20150180850A1 (en) Method and system to provide additional security mechanism for packaged web applications
CN104639650A (zh) 一种细粒度分布式接口访问控制方法及装置
WO2023045970A1 (zh) 一种确定访问令牌的方法及装置
US9537893B2 (en) Abstract evaluation of access control policies for efficient evaluation of constraints
WO2018063947A1 (en) Generating short-term signatures for accessing cloud storage
CN112434054A (zh) 一种审计日志的更新方法及装置
CN111988262B (zh) 认证方法、装置及服务器、存储介质
CN114065157A (zh) 一种多租户模式下的页面调度鉴权方法、设备及介质
US9948727B2 (en) Securely transferring session information
US20140007197A1 (en) Delegation within a computing environment
CN110659463B (zh) 一种无状态系统的分布式运行的方法及装置
CN107276967B (zh) 一种分布式系统及其登录验证方法
US20230388119A1 (en) Systems and methods for stateless authentication and authorization using jwt access tokens
CN115865813A (zh) 一种访问限流方法和系统
CN116010926A (zh) 登陆认证方法、装置、计算机设备和存储介质
US11949714B2 (en) Cross-site request forgery protection
CN106936794B (zh) 一种用于更改秘钥的方法、装置及设置秘钥的方法、装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20220907

Address after: 25 Financial Street, Xicheng District, Beijing 100033

Applicant after: CHINA CONSTRUCTION BANK Corp.

Address before: 25 Financial Street, Xicheng District, Beijing 100033

Applicant before: CHINA CONSTRUCTION BANK Corp.

Applicant before: Jianxin Financial Science and Technology Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant