[发明专利]一种细粒度分布式接口访问控制方法及装置有效
申请号: | 201510089591.9 | 申请日: | 2015-02-27 |
公开(公告)号: | CN104639650B | 公开(公告)日: | 2018-07-31 |
发明(设计)人: | 王文岩;李思捷 | 申请(专利权)人: | 新华三技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 310052 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 细粒度 分布式 接口 访问 控制 方法 装置 | ||
1.一种细粒度分布式接口访问控制方法,其特征在于,所述方法包括:
接收到用户发送的接口访问请求后,判断该用户的本次接口访问请求与前一次接口访问请求的时间间隔是否小于预设的访问间隔时间阈值,若小于则拦截本次接口访问请求;
接收到用户发送的接口访问请求后,判断在预设的周期内与该用户相关的接口访问次数配额是否使用完,若使用完则拦截本次接口访问请求,
当两次接口访问请求的时间间隔不小于预设的访问间隔时间阈值且在预设的周期内与该用户相关的接口访问次数配额未使用完时,对该接口访问请求进行处理,记录接收到该用户本次接口访问请求的时间戳,执行周期内与该用户相关的接口访问次数配额记录值的递减操作;
其中,所述判断该用户的本次接口访问请求与前一次接口访问请求的时间间隔是否小于预设的访问间隔时间阈值的步骤具体为:
若所述的访问间隔时间阈值包括用户组访问间隔时间阈值,判断该用户本次请求与前一次的请求的时间间隔是否小于该用户所属用户组的访问间隔时间阈值,若小于则拦截本次接口访问请求;
若所述的访问间隔时间阈值包括用户组访问间隔时间阈值和单用户访问间隔时间阈值,判断该用户本次请求与前一次的请求的时间间隔是否小于该用户所属用户组的访问间隔时间阈值,若小于则拦截本次接口访问请求;判断该用户本次请求与前一次的请求的时间间隔是否小于该用户对应的单用户访问间隔时间阈值,若小于则拦截本次接口访问请求。
2.根据权利要求1所述的方法,其特征在于,所述与用户相关的接口访问次数配额包括:用户组访问次数配额和单用户访问次数配额;
所述判断在预设的周期内与该用户相关的接口访问次数配额是否使用完的步骤具体为:
判断在当前周期内用户组访问次数配额是否用完,若用完则拦截本次接口访问请求;
判断在当前周期内单用户访问次数配额是否用完,若用完则拦截本次接口访问请求。
3.根据权利要求1所述的方法,其特征在于,在执行所述判断步骤之前,所述方法还包括:
在接收到用户发送的接口访问请求时,从请求中获取用于用户身份认证的信息,对用户身份进行合法性验证,若未通过用户身份认证,则拦截本次接口访问请求;和/或
在接收到用户发送的接口访问请求时,根据预设的安全地址列表判断请求报文的源地址是否为所述安全地址列表中的地址,若不在所述安全地址列表内,则拦截本次接口访问请求。
4.根据权利要求1所述的方法,其特征在于,在多核并行对同一分布式接口进行访问控制的场景下,在内存中分别为所述访问间隔时间阈值及所述的与该用户相关的接口访问次数配额定义实体类,所述实体类包含第一属性及第二属性;
所述为与该用户相关的接口访问次数配额定义的实体类的第一属性用于存放用户当前剩余的访问次数配额值,第二属性用于存放系统中预设的访问次数配额,所述第一属性使用线程安全的原子类型作为数据类型,并通过定时器定时将第一属性的值置为第二属性的值;
所述为访问间隔时间阈值定义的实体类的第一属性第一属性使用线程安全的原子类型作为数据类型,用于存放用户前一次接口访问请求的时间戳,第二属性用于存放系统中预设的访问间隔时间阈值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三技术有限公司,未经新华三技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510089591.9/1.html,转载请声明来源钻瓜专利网。