本申请涉及计算机技术领域,尤其涉及一种用户访问控制方法及装置。
背景技术:
在互联网应用服务用户的过程中,为了系统稳定性或者应用安全性考虑,需要限制用户对服务器的访问。
目前,现有的用户访问控制不能针对特定用户进行特定的访问控制。
技术实现要素:
为了解决上述技术问题,本申请提供了一种用户访问控制方法及装置,可以针对特定用户进行特定的访问控制,提升网络应用稳定性和安全性。
为了实现上述目的,本申请实施例提供的技术方案如下:
本申请实施例提供了一种用户访问控制方法,该方法包括:
接收用户访问请求;
当所述用户访问请求为高峰期时接收的请求,确定所述用户访问请求的类型为高峰流量类请求;
响应所述高峰期用户访问请求,向数据分析层发送令牌查询请求,所述令牌查询请求用于使所述数据分析层查询第一目标集群中是否有访问令牌;
接收所述数据分析层发送的令牌查询结果;
当所述令牌查询结果为无可用令牌时,拒绝所述高峰期用户访问请求;
当所述用户访问受限功能时,确定所述用户访问请求的类型为越权访问类请求;
响应所述越权访问类请求,向权限模块发送权限查询请求;所述权限查询请求用于使所述权限模块查询第一目标集群中是否有所述用户的目标权限;
接收所述权限模块发送的权限查询请求结果;
当所述权限查询请求结果为不存在所述用户的目标权限,拒绝所述越权访问类请求。
可选的,所述方法还包括:
当所述用户单位时间内访问的次数超过预设次数时,确定所述用户访问请求的类型为异常流量类请求;
响应所述异常流量类请求,向黑名单控制层发送黑名单查询请求;所述黑名单查询请求用于使所述黑名单控制层根据第一目标集群中的黑名单查询所述用户是否为所述黑名单用户;
接收所述黑名单控制层发送的黑名单查询请求结果;
根据所述黑名单查询请求结果,对所述用户进行访问控制。
可选的,所述根据所述黑名单查询请求结果,对所述用户进行访问控制,包括:
当所述黑名单查询请求结果为所述用户是黑名单用户时,拒绝所述异常流量类请求。
可选的,所述根据所述黑名单查询请求结果,对所述用户进行访问控制,包括:
当所述黑名单查询请求结果为所述用户不是黑名单用户时,向第二目标集群发送用户访问消息,以使所述数据分析层消费所述第二目标集群接收到的所述用户访问消息,并在确定所述用户访问异常时,发送异常用户访问消息返回所述第二目标集群,再使所述黑名单控制层消费所述第二目标集群接收到的所述异常用户访问消息,将所述用户加入所述黑名单;
当所述用户加入到所述黑名单中时,拒绝所述异常流量类请求。
可选的,所述方法还包括:
当所述用户访问特殊类型交易时,确定所述用户访问请求的类型为异常行为类请求;
响应所述用户访问请求,向黑名单控制层发送异常行为查询请求;所述异常行为查询请求用于使所述黑名单控制层根据第一目标集群中的异常行为名单查询所述用户的行为是否为所述异常行为名单中的异常行为;
接收所述黑名单控制层发送的异常行为查询请求结果;
根据所述异常行为查询请求结果,对所述异常行为类请求进行访问控制。
可选的,所述根据所述异常行为查询请求结果,对所述异常行为类请求进行访问控制,包括:
当所述异常行为查询请求结果为所述用户的行为是所述异常行为名单中的异常行为时,拒绝所述异常行为类请求。
可选的,所述根据所述异常行为查询请求结果,对所述用户进行访问控制,包括:
当所述异常行为查询请求结果为所述用户的行为不是所述异常行为名单中的异常行为时,向第二目标集群发送用户行为消息,以使所述数据分析层消费所述第二目标集群接收到的所述用户行为消息,并在确定所述用户行为异常时,发送异常用户行为消息返回所述第二目标集群,再使所述黑名单控制层消费所述第二目标集群接收到的所述异常用户行为消息,将所述用户加入所述异常行为名单;
当所述用户加入到所述异常行为名单中时,拒绝所述异常行为类请求。
本申请实施例还提供了一种用户访问控制装置,该装置包括:
第一接收单元,用于接收用户访问请求;
第一确定单元,用于当所述用户访问请求为高峰期时接收的请求,确定所述用户访问请求的类型为高峰流量类请求;
第一响应单元,用于响应所述高峰期用户访问请求,向数据分析层发送令牌查询请求,所述令牌查询请求用于使所述数据分析层查询第一目标集群中是否有访问令牌;
第二接收单元,用于接收所述数据分析层发送的令牌查询结果;
第一拒绝单元,用于当所述令牌查询结果为无可用令牌时,拒绝所述高峰期用户访问请求;
第二确定单元,用于当所述用户访问受限功能时,确定所述用户访问请求的类型为越权访问类请求;
第二响应单元,用于响应所述越权访问类请求,向权限模块发送权限查询请求;所述权限查询请求用于使所述权限模块查询第一目标集群中是否有所述用户的目标权限;
第三接收单元,用于接收所述权限模块发送的权限查询请求结果;
第二拒绝单元,用于当所述权限查询请求结果为不存在所述用户的目标权限,拒绝所述越权访问类请求。
通过上述技术方案可知,本申请具有以下有益效果:
本申请实施例提供了一种用户访问控制方法,该方法包括:
接收用户访问请求;当用户访问请求为高峰期时接收的请求,确定用户访问请求的类型为高峰流量类请求。响应高峰期用户访问请求,向数据分析层发送令牌查询请求,令牌查询请求用于使数据分析层查询第一目标集群中是否有访问令牌。接收数据分析层发送的令牌查询结果。当令牌查询结果为无可用令牌时,拒绝高峰期用户访问请求。当用户访问受限功能时,确定用户访问请求的类型为越权访问类请求。响应越权访问类请求,向权限模块发送权限查询请求,权限查询请求用于使权限模块查询第一目标集群中是否有用户的目标权限。接收权限模块发送的权限查询请求结果。当权限查询请求结果为不存在用户的目标权限,拒绝越权访问类请求。通过本申请实施例提供的方法,当用户为高峰期用户或者访问受限功能的用户时,可以针对不同的用户访问请求进行不同的访问控制,提升网络应用稳定性和安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种用户访问控制方法的流程图;
图2为本申请实施例提供的针对高峰流量类请求的访问控制流程示意图;
图3为本申请实施例提供的针对越权访问类请求的访问控制流程示意图;
图4为本申请实施例提供的针对异常流量类请求的访问控制流程示意图;
图5为本申请实施例提供的针对异常行为类请求的访问控制流程示意图;
图6为本申请实施例提供的一种用户访问控制装置的示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
为了便于理解和解释本申请实施例提供的技术方案,下面先对本申请实施例的背景技术进行说明。
随着现代互联网的发展,硬件技术软件技术不断更新换代。互联网应用服务暴露在互联网上,面对复杂的客户环境与客户操作,暴露在互联网的互联网应用服务,一般会面临以下场景:
(1)流量高峰期。在商品促销、企业做活动等场景下,客户的访问会远高于平常。在客户访问高峰期,企业服务器面临巨大的负载压力,需要对某些不重要的接口进行访问控制,以降低系统吞吐量,降低系统负载,提升关键功能的服务能力。
(2)客户访问权限控制。企业往往会提供面向多种用户提供多元化的企业服务,有一些服务是具有通用性的,但是某一些服务是仅面向特定客户群体的。识别并控制客户的访问权限集合,限制用户可访问的接口范围,是实现此功能的要点。
基于此,本申请实施例提供了一种用户访问控制方法,该方法包括:接收用户访问请求;当用户访问请求为高峰期用户访问请求时,确定用户访问请求的类型为高峰流量类请求。响应高峰期用户访问请求,向数据分析层发送令牌查询请求,令牌查询请求用于使数据分析层查询第一目标集群中是否有访问令牌。接收数据分析层发送的令牌查询结果。当令牌查询结果为无可用令牌时,拒绝高峰期用户访问请求。当用户访问受限功能时,确定用户访问请求的类型为越权访问类请求。响应越权访问类请求,向权限模块发送权限查询请求,权限查询请求用于使权限模块查询第一目标集群中是否有用户的目标权限。接收权限模块发送的权限查询请求结果。当权限查询请求结果为不存在用户的目标权限,拒绝越权访问类请求。
为了便于理解本申请实施例提供的技术方案,下面结合附图对本申请实施例提供的用户访问控制方法进行说明。需要说明的是,该方法可以应用于b/s架构互联网应用的访问控制层。参见图1,图1为本申请实施例提供的一种用户访问控制方法的流程图。如图1所示,该方法可以包括s101-s109:
s101:接收用户访问请求。
当用户通过接口发送访问请求时,访问控制层接收用户访问请求。
需要说明的是,不同用户有不同的访问请求类型,例如高峰流量类请求和越权访问类请求。可以理解的是,服务端访问控制层用于进行统一的访问控制。
可以理解的是,接口(或称网站接口)指企业部署在服务器上,接受客户请求并为客户提供服务的工具。一般来说,一个面向客户的接口会提供一个特定的业务功能。
s102:当用户访问请求为高峰期时接收的请求,确定用户访问请求的类型为高峰流量类请求。
当用户在流量高峰期时发送访问请求,则确定此时的用户访问请求的类型为高峰流量类请求。参见图2,图2为本申请实施例提供的针对高峰流量类请求的访问控制流程示意图。如图2所示,高峰期用户向访问控制层进行访问。
s103:响应高峰期用户访问请求,向数据分析层发送令牌查询请求,令牌查询请求用于使数据分析层查询第一目标集群中是否有访问令牌。
访问控制层响应高峰期用户访问请求,检测系统负载,向数据分析层发送令牌查询请求。该令牌查询请求用于使数据分析层查询第一目标集群中是否有访问令牌。如图2所示,访问控制层向数据分析层发送检查令牌的请求。
在一些实施方式中,第一目标集群为redis集群。redis集群可用于高效的数据读写,在用户访问控制时,用于存放用户标记、权限数据、访问令牌等数据。
可以理解的是,数据分析层用于分析用户行为,判断用户的访问或者操作是否存在异常。
s104:接收数据分析层发送的令牌查询结果。
访问控制层接收数据分析层发送的令牌查询结果。
需要说明的是,数据分析层在接收访问控制层发送的令牌查询请求后,数据分析层经过对第一目标集群,例如redis集群中的数据进行计算,根据计算结果获得令牌查询结果。将获得的令牌查询结果发送给访问控制层。
s105:当令牌查询结果为无可用令牌时,拒绝高峰期用户访问请求。
数据分析层经过对第一目标集群,例如redis集群中的数据进行计算,发现已经没有可用令牌,即令牌查询结果为无可用令牌,此时访问控制层拒绝用户的高峰期用户访问请求。如图2所示,访问控制层接收数据分析层发送的令牌查询结果为无可用令牌,此时,访问控制层拒绝用户的访问请求。
通过以上操作,利用令牌桶算法来限制高峰流量,达到了流量削峰的效果。其中,令牌桶流量控制指通过虚拟令牌桶的方式进行流量控制。系统针对一个客户,会以定速生产令牌,产生的令牌放在桶中,直到桶放满为止停止。当用户发送服务请求时,会消耗桶中的令牌,如果桶中没有令牌,则拒绝服务请求,如果桶中存在令牌,则消耗一枚令牌并接受服务请求。
s106:当用户访问受限功能时,确定用户访问请求的类型为越权访问类请求。
当用户访问受限功能时,确定此时的用户访问请求的类型为越权访问类请求。作为一种示例,受限功能为一些仅面向特定客户群体的功能。参见图3,图3为本申请实施例提供的针对越权访问类请求的访问控制流程示意图。如图3所示,用户访问控制层受限功能。
s107:响应越权访问类请求,向权限模块发送权限查询请求;权限查询请求用于使权限模块查询第一目标集群中是否有用户的目标权限。
访问控制层响应越权访问类请求,向权限模块发送权限查询请求;权限查询请求用于使权限模块查询第一目标集群中是否有用户的目标权限。如图3所示,访问控制层向权限模块发送权限查询请求使权限模块检查用户是否有访问受限功能的权限。
需要说明的是,权限模块,用于检查用户权限。
s108:接收权限模块发送的权限查询请求结果。
访问控制层接收权限模块发送的权限查询请求结果。
s109:当权限查询请求结果为不存在用户的目标权限,拒绝越权访问类请求。
当访问控制层接收权限模块发送的权限查询请求结果为不存在用户的目标权限时,访问控制层拒绝用户的越权访问类请求。参见图3,当权限模块发送的权限查询请求结果为发现用户无权限访问受限功能时,访问控制层拒绝用户的访问请求。
需要说明的是,用户的目标权限为用户登录用户模块后产生并存储于第一目标集群中的,第一目标集群例如为redis集群。
除了上述两种用户访问请求之后,还可能存在以下情形的用户访问:
(1)客户端访问流量异常。在正常客户之外,可能会有网络爬虫(批量下载企业服务器内容的网络工具)等会进行异常网络访问的可能。网络爬虫往往会批量下载复制企业服务器提供的内容,创造大量对企业没有价值的网络请求。网络爬虫不仅占用了企业的带宽和服务器资源,还可能利用下载下来的内容进行创建仿站(伪造网站)等非法行为。企业需要对这些进行进行检测与防控。
(2)客户异常行为控制。并非所有的访客都是守法的用户,某些别有用心的用户可能会尝试对互联网应用进行攻击以牟利。比如攻击者可能会通过暴利破解等方式尝试盗窃其他用户的账号,也可能会通过重放攻击尝试重复使用优惠券,针对这种行为,也需要进行接口层级的检查与访问控制。
针对上述两种用户访问请求,本申请实施例还提供的以下应用于访问控制层的方法。
一方面,当用户单位时间内访问的次数超过预设次数时,确定用户访问请求的类型为异常流量类请求;
响应异常流量类请求,向黑名单控制层发送黑名单查询请求;黑名单查询请求用于使黑名单控制层根据第一目标集群中的黑名单查询用户是否为黑名单用户;
接收黑名单控制层发送的黑名单查询请求结果;
根据黑名单查询请求结果,对用户进行访问控制。
具体实施时,根据黑名单查询请求结果,对用户进行访问控制,包括:
当黑名单查询请求结果为用户是黑名单用户时,拒绝异常流量类请求。
当黑名单查询请求结果为用户不是黑名单用户时,向第二目标集群发送用户访问消息,以使数据分析层消费第二目标集群接收到的用户访问消息,并在确定用户访问异常时,发送异常用户访问消息返回第二目标集群,再使黑名单控制层消费第二目标集群接收到的异常用户访问消息,将用户加入黑名单;
当用户加入到黑名单中时,拒绝异常流量类请求。
可以理解的是,作为一种示例,第二目标集群为kafka集群,用户海量级的消息生产与消费,在流量控制中,用户接收和广播“用户访问”、“用户行为”、“异常用户”等类型的消息。需要说明的是,预设次数根据实际情况进行选取,例如,一小时五万次。
其中,黑名单控制层用于记录并标记受限用户或者受限用户行为。
需要说明的是,在对用户访问请求进行处理时,服务器可以使用第一目标集群和第二目标集群内的其他资源,例如redis集群和kafka集群,效率较高。
具体应用时,参见图4,图4为本申请实施例提供的针对异常流量类请求的访问控制流程示意图,如图4所示:
1.当特定ip(或特定设备序列号)的用户,持续访问服务端应用,向接口发送访问请求时,确定该用户请求为异常流量类请求。
2.流量访问层会检查ip(或设备)是否被加入黑名单。其中,流量访问层包括访问控制层和黑名单控制层。
具体的,a-1:访问控制层在收到一个请求之后,会异步地发送一个“用户访问”类型的消息至kafka集群。
a-2:数据分析层会启动守护进程,持续地消费“用户访问”类型的消息并进行分析。其中,守护进程,指一类运行在系统后台的特殊进程,用于执行特定的系统任务。
b-1:当数据分析层发现一个用户的访问异常时,会推送一个“异常用户”消息至kafka集群。
b-2:黑名单控制层会启动守护进程,持续地消费异常用户消息,每消费一个“异常用户”消息,就会把对应的用户(即为ip或者客户端)标记为异常用户。
3.如果访问控制层发现已经用户的ip被标记为黑名单,则拒绝此请求。
另一方面,当用户访问特殊类型交易时,确定用户访问请求的类型为异常行为类请求;
响应用户访问请求,向黑名单控制层发送异常行为查询请求;异常行为查询请求用于使黑名单控制层根据第一目标集群中的异常行为名单查询用户的行为是否为异常行为名单中的异常行为;
接收黑名单控制层发送的异常行为查询请求结果;
根据异常行为查询请求结果,对异常行为类请求进行访问控制。
具体实施时,根据异常行为查询请求结果,对异常行为类请求进行访问控制,包括:
当异常行为查询请求结果为用户的行为是异常行为名单中的异常行为时,拒绝异常行为类请求。
当异常行为查询请求结果为用户的行为不是异常行为名单中的异常行为时,向第二目标集群发送用户行为消息,以使数据分析层消费第二目标集群接收到的用户行为消息,并在确定用户行为异常时,发送异常用户行为消息返回第二目标集群,再使黑名单控制层消费第二目标集群接收到的异常用户行为消息,将用户加入异常行为名单;
当用户加入到异常行为名单中时,拒绝异常行为类请求。
具体应用时,参见图5,图5为本申请实施例提供的针对异常行为类请求的访问控制流程示意图,如图5所示:
1.用户通过接口发送访问请求,尝试访问高风险交易。
2.流量访问层会检查次用户访问高风险交易的行为是否被加入黑名单。
具体的,a-1:访问控制层在收到一个请求之后,会异步地发送一个“用户行为”类型的消息至kafka集群。
a-2:数据分析层会启动守护进程,持续地消费“用户行为”类型的消息,并进行分析。
b-1:当数据分析层,发现一个用户的访问异常时,会推送一个“异常用户行为”消息至kafka集群。
b-2:黑名单控制层会启动守护进程,持续地消费异常用户消息,每消费一个“异常用户行为”消息,就会把对应的“异常用户行为”标记为禁止。
3.如果发现用户的行为已经被标记为禁止的行为,则拒绝此请求。
需要说明的是,通过以上实现的对用户不同的访问请求进行相对应的控制,可以在不影响正常业务处理的情况下,对高峰访问、异常流量访问、受限访问、异常行为访问等进行识别与限制,满足互联网应用对用户访问的控制需求。另外,可以解决现有的springboot等开发框架不能针对特定用户、特定接口进行特殊定制的访问限制的问题,实现对特定ip(或特定设备序列号)、特定接口进行权限校验、访问控制等,并能够有效利用互联网应用常见的redis集群、kafka集群。另外,还可以对每个接口设置不同的访问次数,例如针对查询接口设置每秒10000次,针对动账接口设置每秒5000次,增加接口设置的灵活性。
通过本申请实施例提供的一种用户访问控制方法,该方法包括:接收用户访问请求;当用户访问请求为高峰期时接收的请求,确定用户访问请求的类型为高峰流量类请求。响应高峰期用户访问请求,向数据分析层发送令牌查询请求,令牌查询请求用于使数据分析层查询第一目标集群中是否有访问令牌。接收数据分析层发送的令牌查询结果。当令牌查询结果为无可用令牌时,拒绝高峰期用户访问请求。当用户访问受限功能时,确定用户访问请求的类型为越权访问类请求。响应越权访问类请求,向权限模块发送权限查询请求,权限查询请求用于使权限模块查询第一目标集群中是否有用户的目标权限。接收权限模块发送的权限查询请求结果。当权限查询请求结果为不存在用户的目标权限,拒绝越权访问类请求。通过本申请实施例提供的方法,当用户为高峰期用户或者访问受限功能的用户时,可以针对不同的用户访问请求进行不同的访问控制,提升网络应用稳定性和安全性。
参见图6,图6为本申请实施例提供的一种用户访问控制装置的示意图,该装置包括:
第一接收单元601,用于接收用户访问请求;
第一确定单元602,用于当所述用户访问请求为高峰期时接收的请求,确定所述用户访问请求的类型为高峰流量类请求;
第一响应单元603,用于响应所述高峰期用户访问请求,向数据分析层发送令牌查询请求,所述令牌查询请求用于使所述数据分析层查询第一目标集群中是否有访问令牌;
第二接收单元604,用于接收所述数据分析层发送的令牌查询结果;
第一拒绝单元605,用于当所述令牌查询结果为无可用令牌时,拒绝所述高峰期用户访问请求;
第二确定单元606,用于当所述用户访问受限功能时,确定所述用户访问请求的类型为越权访问类请求;
第二响应单元607,用于响应所述越权访问类请求,向权限模块发送权限查询请求;所述权限查询请求用于使所述权限模块查询第一目标集群中是否有所述用户的目标权限;
第三接收单元608,用于接收所述权限模块发送的权限查询请求结果;
第二拒绝单元609,用于当所述权限查询请求结果为不存在所述用户的目标权限,拒绝所述越权访问类请求。
可选的,在本实施例的一些实施方式中,所述装置还包括:
第三确定单元,用于当所述用户单位时间内访问的次数超过预设次数时,确定所述用户访问请求的类型为异常流量类请求;
第三响应单元,用于响应所述异常流量类请求,向黑名单控制层发送黑名单查询请求;所述黑名单查询请求用于使所述黑名单控制层根据第一目标集群中的黑名单查询所述用户是否为所述黑名单用户;
第四接收单元,用于接收所述黑名单控制层发送的黑名单查询请求结果;
第一控制单元,用于根据所述黑名单查询请求结果,对所述用户进行访问控制。
可选的,在本实施例的一些实施方式中,所述第一控制单元,包括:
第一拒绝子单元,用于当所述黑名单查询请求结果为所述用户是黑名单用户时,拒绝所述异常流量类请求。
可选的,在本实施例的一些实施方式中,所述第一控制单元,包括:
第一发送子单元,用于当所述黑名单查询请求结果为所述用户不是黑名单用户时,向第二目标集群发送用户访问消息,以使所述数据分析层消费所述第二目标集群接收到的所述用户访问消息,并在确定所述用户访问异常时,发送异常用户访问消息返回所述第二目标集群,再使所述黑名单控制层消费所述第二目标集群接收到的所述异常用户访问消息,将所述用户加入所述黑名单;
第二拒绝子单元,用于当所述用户加入到所述黑名单中时,拒绝所述异常流量类请求。
可选的,在本实施例的一些实施方式中,所述装置还包括:
第四确定单元,用于当所述用户访问特殊类型交易时,确定所述用户访问请求的类型为异常行为类请求;
第四响应单元,用于响应所述用户访问请求,向黑名单控制层发送异常行为查询请求;所述异常行为查询请求用于使所述黑名单控制层根据第一目标集群中的异常行为名单查询所述用户的行为是否为所述异常行为名单中的异常行为;
第五接收单元,用于接收所述黑名单控制层发送的异常行为查询请求结果;
第二控制单元,用于根据所述异常行为查询请求结果,对所述异常行为类请求进行访问控制。
可选的,在本实施例的一些实施方式中,所述第二控制单元,包括:
第三拒绝子单元,用于当所述异常行为查询请求结果为所述用户的行为是所述异常行为名单中的异常行为时,拒绝所述异常行为类请求。
可选的,在本实施例的一些实施方式中,所述第二控制单元,包括:
第二发送子单元,用于当所述异常行为查询请求结果为所述用户的行为不是所述异常行为名单中的异常行为时,向第二目标集群发送用户行为消息,以使所述数据分析层消费所述第二目标集群接收到的所述用户行为消息,并在确定所述用户行为异常时,发送异常用户行为消息返回所述第二目标集群,再使所述黑名单控制层消费所述第二目标集群接收到的所述异常用户行为消息,将所述用户加入所述异常行为名单;
第四拒绝子单元,用于当所述用户加入到所述异常行为名单中时,拒绝所述异常行为类请求。
本申请实施例提供了一种用户访问控制装置,接收用户访问请求;当用户访问请求为高峰期时接收的请求,确定用户访问请求的类型为高峰流量类请求。响应高峰期用户访问请求,向数据分析层发送令牌查询请求,令牌查询请求用于使数据分析层查询第一目标集群中是否有访问令牌。接收数据分析层发送的令牌查询结果。当令牌查询结果为无可用令牌时,拒绝高峰期用户访问请求。当用户访问受限功能时,确定用户访问请求的类型为越权访问类请求。响应越权访问类请求,向权限模块发送权限查询请求,权限查询请求用于使权限模块查询第一目标集群中是否有用户的目标权限。接收权限模块发送的权限查询请求结果。当权限查询请求结果为不存在用户的目标权限,拒绝越权访问类请求。通过本申请实施例提供的装置,当用户为高峰期用户或者访问受限功能的用户时,可以针对不同的用户访问请求进行不同的访问控制,提升网络应用稳定性和安全性。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的系统相对应,所以描述的比较简单,相关之处参见系统部分说明即可。
还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
1.一种用户访问控制方法,其特征在于,所述方法包括:
接收用户访问请求;
当所述用户访问请求为高峰期时接收的请求,确定所述用户访问请求的类型为高峰流量类请求;
响应所述高峰期用户访问请求,向数据分析层发送令牌查询请求,所述令牌查询请求用于使所述数据分析层查询第一目标集群中是否有访问令牌;
接收所述数据分析层发送的令牌查询结果;
当所述令牌查询结果为无可用令牌时,拒绝所述高峰期用户访问请求;
当所述用户访问受限功能时,确定所述用户访问请求的类型为越权访问类请求;
响应所述越权访问类请求,向权限模块发送权限查询请求;所述权限查询请求用于使所述权限模块查询第一目标集群中是否有所述用户的目标权限;
接收所述权限模块发送的权限查询请求结果;
当所述权限查询请求结果为不存在所述用户的目标权限,拒绝所述越权访问类请求。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述用户单位时间内访问的次数超过预设次数时,确定所述用户访问请求的类型为异常流量类请求;
响应所述异常流量类请求,向黑名单控制层发送黑名单查询请求;所述黑名单查询请求用于使所述黑名单控制层根据第一目标集群中的黑名单查询所述用户是否为所述黑名单用户;
接收所述黑名单控制层发送的黑名单查询请求结果;
根据所述黑名单查询请求结果,对所述用户进行访问控制。
3.根据权利要求2所述的方法,其特征在于,所述根据所述黑名单查询请求结果,对所述用户进行访问控制,包括:
当所述黑名单查询请求结果为所述用户是黑名单用户时,拒绝所述异常流量类请求。
4.根据权利要求2所述的方法,其特征在于,所述根据所述黑名单查询请求结果,对所述用户进行访问控制,包括:
当所述黑名单查询请求结果为所述用户不是黑名单用户时,向第二目标集群发送用户访问消息,以使所述数据分析层消费所述第二目标集群接收到的所述用户访问消息,并在确定所述用户访问异常时,发送异常用户访问消息返回所述第二目标集群,再使所述黑名单控制层消费所述第二目标集群接收到的所述异常用户访问消息,将所述用户加入所述黑名单;
当所述用户加入到所述黑名单中时,拒绝所述异常流量类请求。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述用户访问特殊类型交易时,确定所述用户访问请求的类型为异常行为类请求;
响应所述用户访问请求,向黑名单控制层发送异常行为查询请求;所述异常行为查询请求用于使所述黑名单控制层根据第一目标集群中的异常行为名单查询所述用户的行为是否为所述异常行为名单中的异常行为;
接收所述黑名单控制层发送的异常行为查询请求结果;
根据所述异常行为查询请求结果,对所述异常行为类请求进行访问控制。
6.根据权利要求5所述的方法,其特征在于,所述根据所述异常行为查询请求结果,对所述异常行为类请求进行访问控制,包括:
当所述异常行为查询请求结果为所述用户的行为是所述异常行为名单中的异常行为时,拒绝所述异常行为类请求。
7.根据权利要求5所述的方法,其特征在于,所述根据所述异常行为查询请求结果,对所述用户进行访问控制,包括:
当所述异常行为查询请求结果为所述用户的行为不是所述异常行为名单中的异常行为时,向第二目标集群发送用户行为消息,以使所述数据分析层消费所述第二目标集群接收到的所述用户行为消息,并在确定所述用户行为异常时,发送异常用户行为消息返回所述第二目标集群,再使所述黑名单控制层消费所述第二目标集群接收到的所述异常用户行为消息,将所述用户加入所述异常行为名单;
当所述用户加入到所述异常行为名单中时,拒绝所述异常行为类请求。
8.一种用户访问控制装置,其特征在于,所述装置包括:
第一接收单元,用于接收用户访问请求;
第一确定单元,用于当所述用户访问请求为高峰期时接收的请求,确定所述用户访问请求的类型为高峰流量类请求;
第一响应单元,用于响应所述高峰期用户访问请求,向数据分析层发送令牌查询请求,所述令牌查询请求用于使所述数据分析层查询第一目标集群中是否有访问令牌;
第二接收单元,用于接收所述数据分析层发送的令牌查询结果;
第一拒绝单元,用于当所述令牌查询结果为无可用令牌时,拒绝所述高峰期用户访问请求;
第二确定单元,用于当所述用户访问受限功能时,确定所述用户访问请求的类型为越权访问类请求;
第二响应单元,用于响应所述越权访问类请求,向权限模块发送权限查询请求;所述权限查询请求用于使所述权限模块查询第一目标集群中是否有所述用户的目标权限;
第三接收单元,用于接收所述权限模块发送的权限查询请求结果;
第二拒绝单元,用于当所述权限查询请求结果为不存在所述用户的目标权限,拒绝所述越权访问类请求。
技术总结