本发明专利技术公开了一种应用请求的验证方法和装置,涉及数据的安全防护技术领域。该方法的具体实施方式包括:接收一个或多个应用的访问请求;对请求url进行解析,确定访问请求的请求类型和应用类型,根据请求类型、应用类型和预置的名单数据库,判断访问请求是否符合验证要求;如果是,利用预置的令牌缓存数据库,对请求url携带的令牌ID的令牌有效期和令牌权限进行验证,确定访问请求的验证结果;在验证结果为验证失败的情况下,拒绝访问请求。该实施方式将全局过滤器部署到应用服务器底层,并根据请求url采取不同的验证方式,对应用请求进行安全验证,防止应用请求绕过安全过滤导致系统漏洞、给系统安全带来极大威胁,大大提高了系统的安全性。的安全性。的安全性。
【技术实现步骤摘要】
一种应用请求的验证方法和装置
[0001]本专利技术涉及数据的安全防护
,尤其涉及一种应用请求的验证方法和装置。
技术介绍
[0002]分布式微服务架构是指对系统进行拆分,细化为可以实现极小单位的模块功能的多个微服务,并对多个微服务进行统一管理,从而完成各种系统功能的服务架构。通常包括支撑底层服务的服务器、一个或多个中间件、一个或多个应用等。
[0003]现有的分布式微服务架构在进行安全防护时,通常是构建安全服务过滤器,并将其作为一个中间件进行部署;或者,在各个应用中单独开发安全防护模块,以对应用的各种访问请求进行安全防护。
[0004]在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:一方面,由于现有的安全服务过滤器属于应用级过滤器,与各个应用平级,只能对各个应用共有的安全问题进行简单防护,无法应对各个应用自身的安全特点,应用请求可能绕过安全服务过滤器进行访问;另一方面,在各个应用中独自开发安全防护模块的时间、人力、测试、后期维护等成本过高,一些应用为了节省成本可能直接不做安全逻辑,以上皆会给系统安全带来极大漏洞,威胁系统安全。
技术实现思路
[0005]有鉴于此,本专利技术实施例提供一种应用请求的验证方法和装置,能够将全局过滤器部署到应用服务器底层,对不同的应用请求采取不同的验证方式,以保护系统安全,防止应用请求绕过安全过滤导致系统漏洞、给系统安全带来极大威胁,大大提高了系统的安全性,保证系统安全稳定运行。
[0006]进一步地,通过对访问请求的验证方式进行调整,过滤器直接通过令牌ID对访问请求的权限进行验证,相较于现有的访问请求需要携带token等信息、导致请求内容过多拖慢响应速度等问题,由于本专利技术的访问请求仅需携带令牌ID即可对其进行验证,大大提高了请求的响应速度,保证服务器的响应性能。
[0007]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种应用请求的验证方法,包括:所述方法通过部署于分布式微服务架构的服务器中的安全过滤器执行,包括:接收一个或多个应用的访问请求;其中,所述访问请求包括请求url;对所述请求url进行解析,确定所述访问请求的请求类型和应用类型,根据所述请求类型、所述应用类型和预置的名单数据库,判断所述访问请求是否符合验证要求;如果是,利用预置的令牌缓存数据库,对所述请求url携带的令牌ID的令牌有效期和令牌权限进行验证,确定所述访问请求的验证结果;在所述验证结果为验证失败的情况下,拒绝所述访问请求。
[0008]可选地,所述访问请求的请求类型包括框架内部请求,所述应用类型包括入口应用和非入口应用,所述名单数据库包括入口应用url白名单和服务订阅白名单;所述根据预置的名单数据库和所述请求类型,判断所述访问请求是否符合验证要求,包括:判断所述访问请求的请求类型是否是所述框架内部请求;如果否,确定所述访问请求的应用类型是否为所述入口应用;在所述访问请求的应用类型为入口应用的情况下,根据所述入口应用url白名单、所述服务订阅白名单和所述请求类型,确定所述访问请求是否符合验证要求。
[0009]可选地,所述请求url还包括请求功能标识,所述访问请求的请求类型还包括后台服务请求和前台服务请求,所述根据所述请求类型、所述入口应用url白名单和所述服务订阅白名单,确定所述访问请求是否符合验证要求,包括:确定所述访问请求的请求url是否属于所述入口应用url白名单、以及所述应用名称和所述请求功能标识是否属于所述服务订阅白名单;如果否,判断所述访问请求的请求类型是否为所述前台服务请求或者后台服务请求;在所述访问请求的请求类型为前台服务请求或者后台服务请求的情况下,确定所述访问请求符合验证要求。
[0010]可选地,所述请求url还包括应用名称,所述名单数据库还包括评审应用白名单;在所述判断所述访问请求的请求类型是否是所述框架内部请求之前,还包括:将所述应用名称与所述评审应用白名单进行对比,查找所述应用名称是否属于所述评审应用白名单,如果否,执行所述判断所述访问请求的请求类型是否是所述框架内部请求。
[0011]可选地,所述名单数据库还包括静态资源白名单;在所述确定所述访问请求的请求url是否属于所述入口应用url白名单之前,还包括:确定所述请求功能标识是否属于所述静态资源白名单,如果否,执行所述确定所述访问请求的请求url是否属于所述入口应用url白名单。
[0012]可选地,所述利用预置的令牌缓存数据库,对所述令牌ID的令牌有效期和令牌权限进行验证,确定所述访问请求的验证结果,包括:将所述令牌ID作为查询key,查找所述令牌缓存数据库,确定与所述令牌ID对应的目标有效期;其中,不同令牌类型的所述令牌ID对应相同或者不同的目标有效期;判断所述令牌ID是否在所述目标有效期内;如果是,确定所述访问请求的验证结果为验证成功。
[0013]可选地,所述确定所述访问请求的验证结果为验证成功,还包括:将所述令牌ID作为查询key,查找所述令牌缓存数据库,确定与所述令牌ID对应的目标权限列表;其中,不同所述令牌类型的令牌ID对应相同或者不同的目标权限列表;判断所述访问请求所请求的权限是否属于所述目标权限列表;如果所述令牌ID在所述目标有效期内并且所述访问请求所请求的权限属于所述目标权限列表,确定所述验证结果为验证成功。
[0014]可选地,所述令牌类型包括身份令牌、服务令牌和用户令牌。
[0015]可选地,还包括:
在以下任一情形出现的情况下,将所述访问请求转发至与所述请求功能标识对应的目标服务,接收所述目标服务返回的处理结果并发送给与所述访问请求对应的应用:所述访问请求的请求类型是所述框架内部请求、所述访问请求的请求url属于所述入口应用url白名单、所述应用名称属于所述评审应用白名单、所述请求功能标识属于所述静态资源白名单。
[0016]根据本专利技术实施例的再一个方面,提供了一种应用请求的验证装置,包括:接收模块,用于接收一个或多个应用的访问请求;其中,所述访问请求包括请求url;判断模块,用于对所述请求url进行解析,确定所述访问请求的请求类型和应用类型,根据所述请求类型、所述应用类型和预置的名单数据库,判断所述访问请求是否符合验证要求;验证模块,用于如果是,利用预置的令牌缓存数据库,对所述请求url携带的令牌ID的令牌有效期和令牌权限进行验证,确定所述访问请求的验证结果;响应模块,用于在所述验证结果为验证失败的情况下,拒绝所述访问请求。
[0017]根据本专利技术实施例的另一个方面,提供了一种应用请求的验证的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术提供的应用请求的验证方法。
[0018]根据本专利技术实施例的还一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术提供的应用请求的验证方法。
[0019]上述专利技术中的一个实施例具有如下优点或有益效果:因本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种应用请求的验证方法,其特征在于,所述方法通过部署于分布式微服务架构的服务器中的安全过滤器执行,包括:接收一个或多个应用的访问请求;其中,所述访问请求包括请求url;对所述请求url进行解析,确定所述访问请求的请求类型和应用类型,根据所述请求类型、所述应用类型和预置的名单数据库,判断所述访问请求是否符合验证要求;如果是,利用预置的令牌缓存数据库,对所述请求url携带的令牌ID的令牌有效期和令牌权限进行验证,确定所述访问请求的验证结果;在所述验证结果为验证失败的情况下,拒绝所述访问请求。2.根据权利要求1所述的方法,其特征在于,所述访问请求的请求类型包括框架内部请求,所述应用类型包括入口应用和非入口应用,所述名单数据库包括入口应用url白名单和服务订阅白名单;所述根据预置的名单数据库和所述请求类型,判断所述访问请求是否符合验证要求,包括:判断所述访问请求的请求类型是否是所述框架内部请求;如果否,确定所述访问请求的应用类型是否为所述入口应用;在所述访问请求的应用类型为入口应用的情况下,根据所述入口应用url白名单、所述服务订阅白名单和所述请求类型,确定所述访问请求是否符合验证要求。3.根据权利要求2所述的方法,其特征在于,所述请求url还包括请求功能标识,所述访问请求的请求类型还包括后台服务请求和前台服务请求,所述根据所述请求类型、所述入口应用url白名单和所述服务订阅白名单,确定所述访问请求是否符合验证要求,包括:确定所述访问请求的请求url是否属于所述入口应用url白名单、以及所述应用名称和所述请求功能标识是否属于所述服务订阅白名单;如果否,判断所述访问请求的请求类型是否为所述前台服务请求或者后台服务请求;在所述访问请求的请求类型为前台服务请求或者后台服务请求的情况下,确定所述访问请求符合验证要求。4.根据权利要求3所述的方法,其特征在于,所述请求url还包括应用名称,所述名单数据库还包括评审应用白名单;在所述判断所述访问请求的请求类型是否是所述框架内部请求之前,还包括:将所述应用名称与所述评审应用白名单进行对比,查找所述应用名称是否属于所述评审应用白名单,如果否,执行所述判断所述访问请求的请求类型是否是所述框架内部请求。5.根据权利要求3所述的方法,其特征在于,所述名单数据库还包括静态资源白名单;在所述确定所述访问请求的请求url是否属于所述入口应用url白名单之前,还包括:确定所述请求功能标识是否属于所述静态资源白名单,如果否,执行所述确定所述访问请求的请求url是否属于所述入口应用url白名单。6....
【专利技术属性】
技术研发人员:宋卫卫,颜挺进,何支军,焦振海,钱晨笛,陈林博,李乔,
申请(专利权)人:中国证券登记结算有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。