[发明专利]一种基于微服务多租户的接口鉴权、权限验证方法及系统有效
申请号: | 202010367105.6 | 申请日: | 2020-04-30 |
公开(公告)号: | CN111586030B | 公开(公告)日: | 2022-06-17 |
发明(设计)人: | 徐晨;徐晓平;徐健;陶维;杨刚 | 申请(专利权)人: | 武汉时波网络技术有限公司 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L67/02;H04L67/568 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 王江能 |
地址: | 430000 湖北省武汉市自贸区东信*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 微服 租户 接口 权限 验证 方法 系统 | ||
本发明公开了一种基于微服务多租户的接口鉴权、权限验证方法及系统,涉及微服务技术领域,本发明可供不同的终端以及不同的应用进行调用提高了接口的维护性,只需维护接口版本等即可,同时方便终端业务的集成式开发,无需关注后台开发,只需要对前端做相应的开发即可,可适用于前端后端分离的开发模式。同时,本发明采用无状态登陆方式验证,天然支持单点登陆,方便子系统的相互集成,而且没有单点登陆瓶颈;然而在性能方面,权限认证进行抽离通过网关进行独立部署运行结合分布式缓存,无需频繁关注数据库的交互的性能瓶颈,大大提高资源访问的安全及性能。
技术领域
本发明涉及微服务技术领域,具体涉及一种基于微服务多租户的接口鉴权、权限验证方法及系统。
背景技术
传统软件模式架构比较单一,采用传统带有的视图层框架进行web项目开发的方式,其缺陷是:代码臃肿,不便于维护,扩展性差。对于安全验证采用常用开源框架,虽然开发难度低,但是对于微服务架构而言适用性较低,并且对于前后端分离的架构方式就会显得绰绰有余。
目大部分的开发者经历和开发过单体应用,无论是传统的Servlet+JSP,还是SSM,或是现在的SpringBoot,它们都是单体应用,存在部署成本高,改动影响大,风险高,无法满足快速扩容,弹性伸缩,因此微服务架构诞生了,但是微服务带来了新的问题,如复杂性,分布式事务问题,权限设计问题等等。
因此,亟需一种基于微服务实现全新的接口鉴权和权限分配设计。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于微服务多租户的接口鉴权、权限验证方法及系统,提高接口的维护性、提高资源访问的安全及性能。
为达到以上目的,本发明采取的技术方案是:一种基于微服务多租户的接口鉴权、权限验证方法,包括以下步骤:
设置用户权限表,用户权限表用于存储租户ID及对应的用户ID、用户角色、应用、权限信息;
用户通过登陆接口登陆平台认证服务器时,平台认证服务器获取用户ID、密码和用户类别并验证密码,若验证通过,根据用户ID和所属的租户ID、token过期时间、用户类别对应的密钥,生成token和Refresh Token;并根据用户ID和租户ID查询所述用户权限表获取用户对应的角色集合和权限信息,将用户的角色集合、权限信息和token、用户类别拼装成JSON字符串返回给客户端;
用户通过请求接口发起获取资源服务的用户请求时,用户请求中携带用户类别和token,平台网关服务器获取用户请求中的用户类别和token,通过用户类别对token进行解密操作,如果解密成功则返回用户ID及租户ID,通过解析出的用户ID及租户ID查询用户权限表,根据对应的权限信息调用本地缓存中的资源服务。
在上述技术方案的基础上,所述权限信息包括资源名称、资源编码、接口URL的集合。
在上述技术方案的基础上,根据用户ID和所属的租户ID、token过期时间、用户类别对应的密钥,生成token和Refresh Token,具体包括以下步骤:
将用户ID和所属的租户ID、token过期时间组拼成JSON,维护配置列表用于存储用户类别与对应的密钥;通过获取登陆接口定义的用户类别获取对应的密钥,采用获取的密钥对拼装的JSON字符串做DES加密,生成token和Refresh Token,token用于登陆验证,Refresh Token用于重新获取token。
在上述技术方案的基础上,通过解析出的用户ID及租户ID查询用户权限表,根据对应的权限信息调用本地缓存中的资源服务,具体包括以下步骤:
通过解析出的用户ID及租户ID,调用本地缓存中的资源服务,获取相应的权限服务,如果缓存中没有,调用用户权限表获取该用户的所有的角色集合和权限信息,获取后返回并放入缓存;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉时波网络技术有限公司,未经武汉时波网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010367105.6/2.html,转载请声明来源钻瓜专利网。