System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种应用鉴权的方法和装置。
技术介绍
1、互联网应用越来越成熟,系统能力越来越强大,内部外部用户越来越多,系统的架构也越来越复杂,系统与系统之间的接口调用也越来越多。但是很多接口并不能为其他所有的系统都提供服务,同时很多时候我们需要对接口的调用方进行系统吞吐量的统计和管控,为了更好的保护系统接口的稳定性和安全性,因此系统接口或者方法(资源)的鉴权越来越重要,接口或方法(资源)的鉴权也是必不可缺的要求。通常情况下,可以通过自定义鉴权码(例如,token令牌)或者在请求时动态生成鉴权码的方式来实现接口鉴权。
2、在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:鉴权码的生成方式多样化,不同的系统在鉴权码生成规则相同时生成的鉴权码可能相同,跨系统之间可能出现伪造鉴权码的情况,使得接口调用的安全性无法得到保障;同时不同系统需要单独在自己的系统中重复编码来实现鉴权服务,不可配置,通用性差,同时开发效率低,扩展性不强。
技术实现思路
1、有鉴于此,本专利技术实施例提供一种应用鉴权的方法和装置,能够将鉴权服务从业务系统中分离出来,不同系统无需单独在自己的系统中重复编码,节省了代码开发和维护时间,提高了鉴权服务的通用性、可配置性和可扩展性,且对于不同业务系统和应用来说,无论是否使用相同的鉴权码生成规则,均可以避免跨系统之间伪造鉴权码的情况发生,提高了接口调用和系统访问的安全性。
2、为实现上述目的,根据本专利技术实施例的一个方面
3、响应于接收到鉴权服务调用请求,根据所述鉴权服务调用请求确定鉴权级别;
4、在所述鉴权级别为接口校验的情况下,根据所述鉴权服务调用请求获取业务系统标识、应用标识和接口鉴权码,并根据所述业务系统标识、所述应用标识和所述接口鉴权码进行接口校验。
5、可选地,根据所述业务系统标识、所述应用标识和所述接口鉴权码进行接口校验,包括:根据所述业务系统标识,获取对应的业务系统的应用鉴权表;从所述应用鉴权表中获取所述应用标识对应的应用鉴权码,并基于所述应用鉴权码和所述接口鉴权码对该应用进行接口校验。
6、可选地,所述应用鉴权码是基于业务系统标识和应用标识生成的。
7、可选地,所述方法还包括:在所述鉴权级别为资源校验的情况下,根据所述鉴权服务调用请求获取业务系统标识、应用标识和资源标识,根据所述业务系统标识、所述应用标识和所述资源标识进行资源访问权限校验。
8、可选地,根据所述业务系统标识、所述应用标识和所述资源标识进行资源访问权限校验,包括:根据所述业务系统标识和所述资源标识,获取对应的资源的访问权限表;从所述访问权限表中查找是否存在所述应用标识对应的资源授权码;在所述访问权限表中存在所述应用标识对应的资源授权码的情况下,应用具有所述资源的访问权限。
9、可选地,通过在业务系统中为需要进行鉴权的接口类和资源方法增加注解的方式,以在应用访问业务系统时触发所述鉴权服务调用请求;根据所述鉴权服务调用请求确定鉴权级别,包括:根据触发所述鉴权服务调用请求的注解类别确定鉴权级别,所述注解类别包括接口类注解和资源方法注解。
10、可选地,在所述鉴权级别为接口校验的情况下,根据所述鉴权服务调用请求获取业务系统标识、应用标识和接口鉴权码,包括:在所述鉴权级别为接口校验的情况下,从触发所述鉴权服务调用请求的接口类注解中获取业务系统标识、应用标识和接口鉴权码;在所述鉴权级别为资源校验的情况下,根据所述鉴权服务调用请求获取业务系统标识、应用标识和资源标识,包括:在所述鉴权级别为资源校验的情况下,从触发所述鉴权服务调用请求的资源方法注解中获取业务系统标识、应用标识和资源标识。
11、可选地,在根据所述业务系统标识、所述应用标识和所述接口鉴权码进行接口校验,或根据所述业务系统标识、所述应用标识和所述资源标识进行资源访问权限校验之前,还包括:获取鉴权白名单,并根据所述鉴权白名单确定是否需要进行接口校验或资源访问权限校验。
12、根据本专利技术实施例的另一方面,提供了一种应用鉴权的装置,包括:
13、级别判定模块,用于响应于接收到鉴权服务调用请求,根据所述鉴权服务调用请求确定鉴权级别;
14、接口校验模块,用于在所述鉴权级别为接口校验的情况下,根据所述鉴权服务调用请求获取业务系统标识、应用标识和接口鉴权码,并根据所述业务系统标识、所述应用标识和所述接口鉴权码进行接口校验。
15、根据本专利技术实施例的又一方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例所提供的应用鉴权的方法。
16、根据本专利技术实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术实施例所提供的应用鉴权的方法。
17、上述专利技术中的一个实施例具有如下优点或有益效果:通过响应于接收到鉴权服务调用请求,根据鉴权服务调用请求确定鉴权级别;在鉴权级别为接口校验的情况下,根据鉴权服务调用请求获取业务系统标识、应用标识和接口鉴权码,并根据业务系统标识、应用标识和接口鉴权码进行接口校验的技术方案,实现了将鉴权服务从业务系统中分离出来,不同系统无需单独在自己的系统中重复编码,节省了代码开发和维护时间,提高了鉴权服务的通用性、可配置性和可扩展性,且对于不同业务系统和应用来说,无论是否使用相同的鉴权码生成规则,均可以避免跨系统之间伪造鉴权码的情况发生,提高了接口调用和系统访问的安全性。
18、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
本文档来自技高网...【技术保护点】
1.一种应用鉴权的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,根据所述业务系统标识、所述应用标识和所述接口鉴权码进行接口校验,包括:
3.根据权利要求2所述的方法,其特征在于,所述应用鉴权码是基于业务系统标识和应用标识生成的。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,根据所述业务系统标识、所述应用标识和所述资源标识进行资源访问权限校验,包括:
6.根据权利要求4所述的方法,其特征在于,通过在业务系统中为需要进行鉴权的接口类和资源方法增加注解的方式,以在应用访问业务系统时触发所述鉴权服务调用请求;
7.根据权利要求6所述的方法,其特征在于,在所述鉴权级别为接口校验的情况下,根据所述鉴权服务调用请求获取业务系统标识、应用标识和接口鉴权码,包括:
8.根据权利要求4所述的方法,其特征在于,在根据所述业务系统标识、所述应用标识和所述接口鉴权码进行接口校验,或根据所述业务系统标识、所述应用标识和所述资源标识进行资源访问权限
9.一种应用鉴权的装置,其特征在于,包括:
10.一种电子设备,其特征在于,包括:
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。
...【技术特征摘要】
1.一种应用鉴权的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,根据所述业务系统标识、所述应用标识和所述接口鉴权码进行接口校验,包括:
3.根据权利要求2所述的方法,其特征在于,所述应用鉴权码是基于业务系统标识和应用标识生成的。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,根据所述业务系统标识、所述应用标识和所述资源标识进行资源访问权限校验,包括:
6.根据权利要求4所述的方法,其特征在于,通过在业务系统中为需要进行鉴权的接口类和资源方法增加注解的方式,以在应用访问业务系统时触发所述...
【专利技术属性】
技术研发人员:邹成兵,
申请(专利权)人:京东科技控股股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。