【技术实现步骤摘要】
一种微服务架构下对RESTful API统一鉴权的方法
[0001]本专利技术属于计算机应用
,具体涉及一种微服务架构下对RESTful API统一鉴权的方法。
技术介绍
[0002]随着微服务架构的流行,越来越多的企业将传统的单体应用微服务化,各个微服务只专注于业务本身的逻辑实现,而将一些公共的逻辑处理放到微服务网关上实现,包括:认证、鉴权等功能,每个服务以RESTful形式将API通过网关提供给客户端调用。
[0003]在微服务流行的时代,认证鉴权方法总体上和之前差不多,但由于场景架构不同,适用于它的方案也有所不同,一般来说有四种方案:一是单点登录(SSO);二是分布式Session方案;三是客户端Token方案;四是客户端Token与API网关结合。现有技术中,如CN110225039B就提供了一种权限模型获取、鉴权方法、网关、服务器以及存储介质,使得权限模型与API请求解耦合;CN113098695也提供了一种基于用户属性的微服务统一权限控制方法,在网关层提供标准化的权限控制接口,便于统一管理,引入用户 ...
【技术保护点】
【技术特征摘要】
1.一种微服务架构下对RESTful API统一鉴权的方法,其特征在于:具体包括以下步骤:S1:权限配置;在数据库中建立用户表、角色表、权限表、用户角色关系表、角色权限关系表,并在权限表中设计权限标识字段;S2:用户授权;将步骤S1中所配置的权限与角色相关联,将用户与角色相关联;S3:客户端申请Token;客户端通过合法的用户名与密码在微服务网关后所提供的认证服务里获取一个Token,并将该Token及对应的用户的权限信息存储到redis中;S4:网关鉴权;微服务网关接收到客户端的访问请求后,进行客户端身份认证并返回认证结果信息以进行逻辑判断,如果判断认证失败,微服务网关返回错误信息给客户端;如果判断为认证成功,进行鉴权处理,如果鉴权结果为客户端无权访问当前API,微服务网关向客户端返回无权访问提示信息;如果鉴权结果为客户端对当前访问的API有权限,微服务网关将所述访问请求转发至后端的微服务模块进行相应的业务逻辑处理。2.根据权利要求1所述一种微服务架构下对RESTful API统一鉴权的方法,其特征在于:所述步骤S1中,所述用户表包括用户ID、用户名、密码字段;所述角色表包括角色ID、角色名称字段;所述权限表包括权限ID、权限标识字段;所述用户角色关系表包括用户ID、角色ID字段;所述角色权限关系表包括角色ID、权限ID字段。3.根据权利要求2所述一种微服务架构下对RESTful API统一鉴权的方法,其特征在于:所述权限表中每个权限标识字段需满足的格式为:URL_PATH:HTTP_METHOD;其中,URL_PATH表示RESTful API的访问路径,HTTP_METHOD表示客户端请求该URL_PATH的方式;所述URL_PATH的格式符合Apache Ant样式,所述HTTP_METHOD满足HTTP/1.1协议规范。4.根据权利要求1所述一种微服务架构下对RESTful API统一鉴权的方法,其特征在于:所述步骤S2中还包括:S21:在所述角色权限关系表中增加角色与权限关联的记录:将角色权限关系表中的角色ID关联至角色表,角色权限关系表中的权限ID关联至权限表;S22:在所述用户角色关系表中增加用户与角色关联的记录:将用户角色关系表中的用户ID关联至用户表,用户角色关系表中的角色ID关联至角色表。5.根据权利要求3所述一种微服务架构下对RESTful API统一鉴权的方法,其特征在于:所述步骤S3中,微服务网关后的认证服务会提供用户名密码认证API、Token认证API,所述认证服务对客户端输入...
【专利技术属性】
技术研发人员:周小波,蓝文良,
申请(专利权)人:重庆长安汽车股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。