【技术实现步骤摘要】
一种基于用户属性的微服务统一权限控制方法与系统
[0001]本专利技术涉及微服务及权限控制领域,尤其涉及一种基于用户属性的微服务统一权限控制方法与系统。
技术介绍
[0002]微服务技术架构是一种新型的软件架构,在微服务架构下,一个应用会被拆分成若干个甚至上百个微服务,每个微服务都需要对访问进行身份认证和资源鉴权。如果对每个业务微服务系统都进行认证和鉴权逻辑的话,不仅无法保证认证和鉴权的统一性,而且会给系统的维护和扩展带来极大的负担。
[0003]随着web端、移动端、开放平台等多种鉴权场景的出现,传统的单体应用架构下的认证和鉴权逻辑已经无法保证合理的适用性,面对如此之多的微服务之间的调用,保证高效安全的统一身份认证和细粒度的鉴权方案是迫切需要解决的问题。
[0004]目前已有的微服务身份认证和资源鉴权方案主要存在以下问题:
[0005]一、通过沿用成熟的单体应用服务架构鉴权方案,可以实现对每个业务微服务系统都进行认证和鉴权逻辑,然而,这种做法无法保证各个微服务之间认证和鉴权的统一性,而且会给系统的维 ...
【技术保护点】
【技术特征摘要】
1.一种基于用户属性的微服务统一权限控制方法,其特征在于,所述方法包括:步骤1,预先通过权限控制微服务存储用户属性信息;步骤2,通过管理员选定需要授权的对象和所述对象对应的策略需求,根据所述对象和对应的策略需求,通过所述权限控制微服务创建对象的访问控制策略,并将所述访问控制策略存入数据库,实现权限动态配置;步骤3,网关接收客户端发送的身份认证请求时,将所述身份认证请求转发给权限控制微服务,所述权限控制微服务验证用户属性信息后,生成唯一的鉴权认证令牌返回给所述客户端;步骤4,所述客户端请求使用任意业务微服务的资源时,所述网关接收资源请求信息和鉴权认证令牌,并将所述资源请求信息和鉴权认证令牌转发给权限控制微服务,所述权限控制微服务通过解析资源请求信息和鉴权认证令牌中的鉴权参数,完成资源鉴权,鉴权成功后放行资源请求给所述业务微服务,所述业务微服务执行相应的操作并将结果返回给客户端。2.根据权利要求1所述的一种基于用户属性的微服务统一权限控制方法,其特征在于,所述步骤1包括:所述权限控制微服务通过不可逆加密算法将用户属性信息进行编码,将通过编码实现加密后的用户属性信息以字符串的形式存储在关系型数据库中,所述不可逆加密算法包括MD5算法和SHA算法。3.根据权利要求2所述的一种基于用户属性的微服务统一权限控制方法,其特征在于,所述步骤2包括:步骤2
‑
1,通过所述管理员选定需要授权的对象,根据所述对象和操作类型,确定所述对象对应的策略需求,所述策略需求包括用户属性信息和访问控制决策树;其中,确定所述用户属性信息即确定访问控制策略的关键属性,确定所述访问控制决策树即确定访问控制策略的决策方式;所述确定对象对应的策略需求,包括:获取用户属性列表后,在所述用户属性列表中选择用户属性信息并指定访问控制决策树,向所述权限控制微服务申请创建访问控制策略;所述访问控制决策树,即以树状结构表示属性与属性逻辑运算的逻辑结构,所述属性即用户属性信息,其中,每个所述属性表示某项用户具体特征,所述属性与属性逻辑运算包括AND、OR和NOT;所述访问控制策略,即通过用户和角色的映射关系以及角色和资源的映射关系确定用户、角色和权限的映射关系,即基于RBAC模型设置的访问控制策略;所述权限控制微服务是访问控制策略的实现方式,采用分布式微服务和存储方式;步骤2
‑
2,将每项所述用户具体特征对应的属性值集合带入访问控制决策树之后,由所述访问控制决策树的根节点输出判断结果;所述判断结果包括true或者false;其中,所述判断结果为true表示访问控制策略中用户和角色的映射关系能启用,所述判断结果为false表示访问控制策略中用户和角色的映射关系不能启用;步骤2
‑
3,所述权限控制微服务创建对象的访问控制策略,即完成对用户属性表、访问控制决策树、角色表和资源数据表的存储;所述用户属性表包括用户和对应的用户属性信
息,所述角色表包括用户角色信息和用户唯一标识信息,所述资源数据表包括资源信息和权限信息;同时,通过所述访问控制策略确定用户和角色的映射关系,以及角色和资源的映射关系,完成资源权限配置,即所述实现权限动态配置。4.根据权利要求1所述的一种基于用户属性的微服务统一权限控制方法,其特征在于,所述步骤3包括:步骤3
‑
1,当所述客户端请求认证身份时,向所述网关发送身份认证请求;步骤3
‑
2,所述网关接收客户端发送的身份认证请求,并从所述身份认证请求中提取用户属性信息,转发所述用户属性信息给权限控制微服务;步骤3
‑
3,所述权限控制微服务将用户属性信息与数据库中的用户属性信息进行比对,若确认所述用户属性信息无误,则生成唯一的鉴权认证令牌;步骤3
‑
4,所述权限控制微服务将唯一的鉴权认证令牌返回给客户端。5.根据权利要求1所述的一种基于用户属性的微服务统一权限控制方法,其特征在于,所述步骤4包括:步骤4
‑
1,所述客户端请求使用任意业务微服务的资源时,所述网关接收客户端发送的鉴权认证令牌和资源请求信息,向所述权限控制微服务发送鉴权认证令牌和资源请求信息;步骤4
‑
2,所述权限控制微服务接收网关发送的鉴权认证令牌和资源请求信息,提取鉴权参数;步骤4
‑
3,所述权限控制微服务解析鉴权参数,查询与所述业务微服务相匹配的访问控制策略列表,进行资源鉴权,即确定所述资源请求信息中需要的资源与数据库中访问控制策略列表中所列举的资源是否一致;步骤4
‑
4,若资源鉴权成功,所述权限控制微服务放行资源请求给业务微服务,所述业务微服务执行与资...
【专利技术属性】
技术研发人员:王洪欣,张燕,徐尚瑜,严冬,苗丽娟,
申请(专利权)人:金陵科技学院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。