一种实现网关鉴权模块的方法及装置与流程
- 国知局
- 2024-08-02 12:41:51
本发明属于应用系统鉴权领域,具体涉及一种实现网关鉴权模块的方法及装置。
背景技术:
1、在应用系统开发过程中,鉴权一直是一个重要的组成部分。在传统的应用中,鉴权一般是在应用中实现的,比如使用 spring security等框架,通过拦截器的方式,在请求到达应用之前,对请求进行鉴权。
2、这种方式的缺点是,需要在每个应用中都引入鉴权模块,增加了应用的复杂度;另外,由于鉴权是在应用中实现的,所以只能对某一种开发语言进行鉴权,无法对所有的开发语言进行鉴权,这样就无法实现对所有应用的鉴权。
技术实现思路
1、本发明针对现有技术下的问题,提供了一种实现网关鉴权模块的方法及装置,随着微服务的发展,网关在系统中的作用越来越重要。网关一般是所有请求的入口,所以在网关中实现鉴权,可以实现对所有请求的鉴权,从而提高了鉴权的粒度,同时也提高了鉴权的灵活性,从而避免了上述的缺点。
2、为了达到上述目的,第一方面,本申请采用的技术方案为:一种实现网关鉴权模块的方法,包括:
3、获取请求信息并传输至网关;
4、网关将请求信息传输至鉴权插件,鉴权插件用于从请求信息中获取当前用户的信息和当前请求的信息;
5、鉴权插件将当前用户的信息和当前请求的信息传输至权限系统,权限系统用于判断是否具有权限访问,如果具有权限访问,将判断结果传输至网关,网关将判断结果传输至信息来源处,如果不具有权限访问,则网关将错误报告传输给信息来源处。
6、进一步的,所述鉴权插件通过请求头中的 token 获取当前用户的信息,通过请求头中的信息获取当前请求的信息,并将当前用户的信息和当前请求的信息转发给权限系统。
7、进一步的,所述权限系统包含用户权限的维护和接口权限的判断;
8、用户权限的维护基于角色的权限控制来实现,将权限维护在角色中,然后将角色分配给用户,用户与角色、角色与权限之间是多对多的关系,当用户登录时,根据用户获取到用户所拥有的角色,然后根据角色获取到角色所拥有的权限,从而判断用户是否有权限访问当前接口;
9、接口权限的判断基于资源的权限控制来实现,将权限维护在资源中,然后根据资源的属性来判断用户是否有权限访问当前接口。
10、进一步的,将接口的 url 作为资源,将接口的方法作为资源的属性,然后将资源分配给角色,角色与资源之间是多对多的关系,当用户访问接口时,根据接口的url 获取到该接口所拥有的资源,然后根据资源的属性来判断用户是否有权限访问当前接口。
11、第二方面,本发明提供了一种实现网关鉴权模块的装置,包括:获取单元,被配置为:获取请求信息并传输至网关;
12、网关,被配置为:网关将请求信息传输至鉴权插件,鉴权插件用于从请求信息中获取当前用户的信息和当前请求的信息;
13、鉴权插件,被配置为:鉴权插件将当前用户的信息和当前请求的信息传输至权限系统;
14、权限系统,被配置为:权限系统用于判断是否具有权限访问,如果具有权限访问,将判断结果传输至网关,网关将判断结果传输至信息来源处,如果不具有权限访问,则网关将错误报告传输给信息来源处。
15、第三方面,本发明提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行如第一方面所述的实现网关鉴权模块的方法。
16、第四方面,本发明提供了一种电子设备,包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被处理器执行时,触发电子设备执行如第一方面所述的实现网关鉴权模块的方法
17、与现有技术相比,本发明的优点和积极效果在于:
18、1. 本发明通过网关实现鉴权,不需要在每个应用中都引入鉴权模块,减少了应用的复杂度。
19、2. 本发明通过网关实现鉴权,不局限于某一种应用,可以对所有的应用进行鉴权,提高了鉴权的粒度。
20、3. 本发明通过网关实现鉴权,不局限于某一种开发语言,可以对所有的开发语言进行鉴权,提高了鉴权的灵活性。
21、4. 本发明通过不同的鉴权插件,可以实现不同的鉴权策略,提高了鉴权的可扩展性。
技术特征:1.一种实现网关鉴权模块的方法,其特征在于,包括:
2.根据权利要求1所述的一种实现网关鉴权模块的方法,其特征在于,所述鉴权插件通过请求头中的 token 获取当前用户的信息,通过请求头中的信息获取当前请求的信息,并将当前用户的信息和当前请求的信息转发给权限系统。
3.根据权利要求1所述的一种实现网关鉴权模块的方法,其特征在于,所述权限系统包含用户权限的维护和接口权限的判断;
4.根据权利要求3所述的一种实现网关鉴权模块的方法,其特征在于,将接口的 url作为资源,将接口的方法作为资源的属性,然后将资源分配给角色,角色与资源之间是多对多的关系,当用户访问接口时,根据接口的url 获取到该接口所拥有的资源,然后根据资源的属性来判断用户是否有权限访问当前接口。
5.一种实现网关鉴权模块的装置,其特征在于,包括:获取单元,被配置为:获取请求信息并传输至网关;
6.一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行如权利要求1-4任一项所述的实现网关鉴权模块的方法。
7.一种电子设备,包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被处理器执行时,触发电子设备执行如权利要求1-4任一项所述的实现网关鉴权模块的方法。
技术总结本发明提出一种实现网关鉴权模块的方法及装置,属于应用系统鉴权技术领域,包括:获取请求信息并传输至网关;网关将请求信息传输至鉴权插件,鉴权插件用于从请求信息中获取当前用户的信息和当前请求的信息;鉴权插件将当前用户的信息和当前请求的信息传输至权限系统,权限系统用于判断是否具有权限访问,如果具有权限访问,将判断结果传输至网关,网关将判断结果传输至信息来源处,如果不具有权限访问,则网关将错误报告传输给信息来源处;减少了应用的复杂度;可以对所有的应用进行鉴权,提高了鉴权的粒度、灵活性、可扩展性。技术研发人员:刘益民,魏子重,李锐受保护的技术使用者:山东浪潮科学研究院有限公司技术研发日:技术公布日:2024/8/1本文地址:https://www.jishuxx.com/zhuanli/20240802/237375.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表