本发明涉及计算机,尤其涉及一种安全认证拓展的方法及装置。
背景技术:
1、在基于spring boot构建的微服务应用中,现有的web服务安全认证大多是通过在各个web服务引入统一的第三方安全认证jar包,在该jar包中注册一个过滤器,用于对http请求进行安全认证,前端将http请求发送至后端,后端的第三方安全认证jar包根据接收的http请求信息找到原处理器,若需要进行安全认证,则对接收的http请求进行认证,认证成功之后由原处理器返回数据,认证不成功则返回错误信息。但在该方法中,一个http请求只能依赖第三方安全认证jar包进行安全认证,局限性大,灵活性较差。
技术实现思路
1、本发明所要解决的技术问题是:本发明提供一种安全认证拓展的方法及装置,提高安全认证的灵活性。
2、为了解决上述技术问题,本发明采用的技术方案为:
3、第一方面,本发明提供一种安全认证拓展的方法,包括:
4、接收前端发送的http请求,根据所述http请求匹配处理器,若匹配的是新处理器,则将所述http请求传入预先配置的拦截器;
5、由所述拦截器拦截所述http请求,并获取所述http请求的请求头中的场景标识,根据所述场景标识调用对应的安全认证方法进行认证,若认证通过,则将所述http请求发送至匹配的新处理器进行处理,得到对应数据返回前端,否则,生成错误信息返回前端。
6、本发明的有益效果在于:在后端原处理的基础上预先配置有新处理器和拦截器,当前端根据是否需要其他认证而对http请求的请求头上进行设置时,后端根据前端发送的http请求匹配处理器,如果匹配到新处理器,则将http请求传入预先配置的拦截器,拦截器根据http请求头中的场景标识调用对应的安全认证方法进行认证,因此可以根据不同场景的不同安全需求对http的请求头进行设置,从而实现多种不同的安全认证机制,提高安全认证的灵活性,优化用户体验。
7、可选地,所述根据所述http请求匹配处理器包括:
8、获取所述http请求的请求头,若所述请求头中存在场景标识,则将所述http请求与预先配置有场景标识的新处理器匹配,反之,将所述http请求与未配置有场景标识的原处理器匹配。
9、根据上述描述可知,通过添加配置有场景标识的新处理器,使得请求头具体场景标识的http请求与之匹配,从而传入拦截器实现不同认证,无需进行复杂操作,操作门槛低,便于实现优化用户体验。
10、可选地,所述新处理器上@requestmapping注解的headers属性上配置有场景标识,所述原处理器和所述新处理器的@requestmapping注解除headers属性之外的其余属性均相同。
11、根据上述描述可知,新处理器与旧处理器除了@requestmapping注解的headers属性不同,其余属性均相同,保证前端请求后端数据时的准确性与一致性。
12、可选地,所述将所述http请求传入预先配置的拦截器包括:
13、获取所述新处理器的@requestmapping注解,若所述@requestmapp ing注解的权限标识为空,则将所述http请求传入预先配置的拦截器,否则,通过第三方认证jar包对所述http请求进行认证。
14、根据上述描述可知,将新处理器的@requestmapping注解的权限标识设置为空,第三方认证jar包就不会对http请求进行认证,会将其传入拦截器进行认证,简化操作提高灵活性。
15、可选地,所述其余属性包括http请求路径地址和requestmethod类型。
16、根据上述描述可知,新处理器的http请求路径地址和requestmethod类型与旧处理器一致,保证在处理前端发送的http请求的一致性与准确性。
17、第二方面,本发明提供一种安全认证拓展的装置,包括:
18、接收模块,用于接收前端发送的http请求,根据所述http请求匹配处理器,若匹配的是新处理器,并将所述http请求传入预先配置的拦截器;
19、由所述拦截器拦截所述hrrp请求,并获取所述http请求的请求头中的场景标识,根据所述场景标识调用对应的安全认证方法进行认证,若认证通过,则将所述http请求发送至匹配的新处理器进行处理,得到对应数据返回前端,否则,生成错误信息返回前端。
20、本发明的有益效果在于:在后端原处理的基础上预先配置有新处理器和拦截器,当前端根据是否需要其他认证而对http请求的请求头上进行设置时,后端根据前端发送的http请求匹配处理器,如果匹配到新处理器,则将http请求传入预先配置的拦截器,拦截器根据http请求头中的场景标识调用对应的安全认证方法进行认证,因此可以根据不同场景的不同安全需求对http的请求头进行设置,从而实现多种不同的安全认证机制,提高安全认证的灵活性,优化用户体验。
21、可选地,所述接收模块包括:
22、匹配模块,用于获取所述http请求的请求头,若所述请求头中存在场景标识,则将所述http请求与预先配置有场景标识的新处理器匹配,反之,将所述http请求与未配置有场景标识的原处理器匹配。
23、根据上述描述可知,通过添加配置有场景标识的新处理器,使得请求头具体场景标识的http请求与之匹配,从而传入拦截器实现不同认证,无需进行复杂操作,操作门槛低,便于实现优化用户体验。
24、可选地,所述原处理器上@requestmapping注解的headers属性上配置有场景标识,所述原处理器和所述新处理器的@requestmapping注解除headers属性之外的其余属性均相同。
25、根据上述描述可知,新处理器与旧处理器除了@requestmapping注解的headers属性不同,其余属性均相同,保证前端请求后端数据时的准确性与一致性。
26、可选地,所述接收模块包括:
27、传输模块:获取所述新处理器的@requestmapping注解,若所述@requestmapping注解的权限标识为空,则将所述http请求传入预先配置的拦截器,否则,通过第三方认证jar包对所述http请求进行认证。
28、根据上述描述可知,将新处理器的@requestmapping注解的权限标识设置为空,第三方认证jar包就不会对http请求进行认证,会将其传入拦截器进行认证,简化操作提高灵活性。
29、可选地,所述其余属性包括http请求路径地址和requestmethod类型。
30、根据上述描述可知,新处理器的http请求路径地址和requestmethod类型与旧处理器一致,保证在处理前端发送的http请求的一致性与准确性。
1.一种安全认证拓展的方法,其特征在于,包括:
2.如权利要求1所述的一种安全认证拓展的方法,其特征在于,所述根据所述http请求匹配处理器包括:
3.如权利要求2所述一种安全认证拓展的方法,其特征在于,所述新处理器上@requestmapping注解的headers属性上配置有场景标识,所述原处理器和所述新处理器的@requestmapping注解除headers属性之外的其余属性均相同。
4.如权利要求1所述的一种安全认证拓展的方法,其特征在于,所述将所述http请求传入预先配置的拦截器包括:
5.如权利要求3所述的一种安全认证拓展的方法,其特征在于,所述其余属性包括http请求路径地址和requestmethod类型。
6.一种安全认证拓展的装置,其特征在于,包括:
7.如权利要求6所述的一种安全认证拓展的装置,其特征在于,所述接收模块包括:
8.如权利要求6所述的一种安全认证拓展的装置,其特征在于,所述原处理器上@requestmapping注解的headers属性上配置有场景标识,所述原处理器和所述新处理器的@requestmapping注解除headers属性之外的其余属性均相同。
9.如权利要求6所述的一种安全认证拓展的装置,其特征在于,所述接收模块包括:
10.如权利要求6所述的一种安全认证拓展的装置,其特征在于,所述其余属性包括http请求路径地址和requestmethod类型。