CN111865943B - 一种基于微服务的多层级租户鉴权方法及装置 - Google Patents

一种基于微服务的多层级租户鉴权方法及装置 Download PDF

Info

Publication number
CN111865943B
CN111865943B CN202010634711.XA CN202010634711A CN111865943B CN 111865943 B CN111865943 B CN 111865943B CN 202010634711 A CN202010634711 A CN 202010634711A CN 111865943 B CN111865943 B CN 111865943B
Authority
CN
China
Prior art keywords
user
tenant
level
users
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010634711.XA
Other languages
English (en)
Other versions
CN111865943A (zh
Inventor
朱柯
李辰
姜新灿
叶萌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Tongchuang Yongyi Technology Development Co ltd
Original Assignee
Beijing Tongchuang Yongyi Technology Development Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Tongchuang Yongyi Technology Development Co ltd filed Critical Beijing Tongchuang Yongyi Technology Development Co ltd
Priority to CN202010634711.XA priority Critical patent/CN111865943B/zh
Publication of CN111865943A publication Critical patent/CN111865943A/zh
Application granted granted Critical
Publication of CN111865943B publication Critical patent/CN111865943B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

本发明提供了一种基于微服务的多层级租户鉴权方法及其装置,本发明基于微服务架构提出的多层级租户管理体系,将用户分为一级集团租户层级用户、集团下属的二级租户层级用户、租户层级用户下属的三级普通租户层级用户三个层级,不同租户层级用户拥有不同的预设权限和特定权限;本发明的鉴权装置由网关模块、认证模块和鉴权模块组成,并通过通信网络相互连接;本发明弥补了单一租户层级鉴权的不足,通过采用对三级及以上更多租户进行分层级以及不同租户层级使用不同鉴权体系的方法,使不同租户层级的数据相互隔离,有效地保证了租户权限的精确控制、提高了数据传输和租户数据存储的安全性,本发明适应有多个子公司或下属的大型集团或公司。

Description

一种基于微服务的多层级租户鉴权方法及装置
技术领域
本发明涉及计算机通信技术领域,具体涉及一种基于微服务的多层级租户鉴权方法以及装置。
背景技术
随着微服务时代的到来,云原生平台中的多租户架构快速演进,数据安全和数据权限逐渐成为用户关注的重点。目前云平台中的多租户方案一般都只考虑一层结构,系统管理员在创建用户时,用户之间通常都是独立的,无法让某一个租户类型的用户管理其他用户。现有微服务架构中的多租户鉴权普遍只有对租户这一个层级进行权限控制,没有细分租户层级以及进行更精确的权限控制。在只有一个租户层级的情况下,租户的权限和租户的数据都需要进行统一管理,租户数据的安全性和隔离性无法得到保障。这种方法无法适应有多个独立子公司或下属公司的大型集团,无法满足多级租户科学管理的需求。
发明内容
本发明的任务是针对拥有多级公司的大型集团复杂的用户管理,对多级租户进行分层级管理,分别针对每层租户的数据进行隔离、并针对每层租户授予不同的权限,进行自顶向下的多租户鉴权。本发明不仅可以保证租户数据的安全性和隔离性,而且可以细化租户的管理权限。本发明的技术方案包括以下两个方面:
本发明的一方面是提供一种基于微服务的多层级租户鉴权方法,其特征在于,该方法对租户进行分层级管理,将用户分为一级租户用户、二级租户用户以及三级租户用户或更多不同租户层级用户,所述不同租户层级用户拥有不同的预设权限和特定权限;
用户鉴权分为用户认证和用户鉴权过程;其中,用户认证负责用户的认证并区分出用户所属的租户层级;用户鉴权是对用户认证所区分出的不同租户层级使用不同的预设权限和特定权限;
由所述一级租户用户、二级租户用户或三级租户用户的管理员进行用户创建,创建后将确定所述用户的租户层级,并将所述用户的用户名、密码以及所确定的租户层级保存在所述用户的独立虚拟存储区域中。该方法采用如下步骤:
1)用户发起请求时,通过微服务网关解析并判断所述用户发起请求是登录请求还是授权请求,并通过所述微服务网关转发所述用户请求。对于类型是登录请求的所述用户请求,所述微服务网关将该所述登录请求转发到步骤2,对于类型是授权请求的所述用户请求,所述微服务网关将该所述授权请求转发到步骤5;
2)所述用户认证模块接收用户登录请求,从所述登录请求中获取用户的账号及登录密码,进行用户登录认证操作。
3)用户认证通过后,所述用户认证模块从所述用户的独立虚拟存储区域中获取用户的所述租户层级信息,并根据用户的所述租户层级信息生成用户加密信息。用户认证未通过则直接返回用户未授权。
4)所述用户认证模块发送所述用户加密信息的授权请求到所述用户授权过程。所述用户授权过程对所述用户加密信息进行校验,并将通过校验后的所述用户加密信息的授权请求发送到下述用户鉴权模块即步骤5。校验未通过则直接返回用户未授权。
5)所述用户鉴权模块从所述用户加密信息校验后的用户授权请求中解析用户加密信息,获取所述用户创建时设置的所述租户层级信息。
6)所述用户鉴权模块解析所述用户加密信息,获得确定的所述租户层级信息并进行用户鉴权,从所述用户的独立虚拟存储区域中获取用户所拥有的所述预设权限和特定权限。
进一步的,将所述一级租户、二级租户和三级租户可以具体为一级集团租户用户、一级集团租户用户下属的二级子公司租户用户、二级子公司租户下属的三级普通租户用户三个租户层级用户,所述不同租户层级用户拥有不同的预设权限和特定权限。
所述一级集团租户用户可从所述用户的独立虚拟存储区域中,获取该用户拥有管理其集团租户用户下属的各级租户用户的预设权限和特定权限;一级集团租户用户可以创建二级子公司租户用户和三级普通租户用户,可对其下属租户用户进行预设权限的查询、新增、删除和修改,并且具有对下属租户用户配置特定的菜单、按钮或数据的特定权限。
所述二级子公司租户用户可从所述用户的独立虚拟存储区域中,获取所述用户拥有管理其下属租户用户的预设权限和特定权限;二级子公司租户用户可对其下属的三级普通租户用户进行预设权限的查询、新增、删除和修改,并且具有对下属普通租户用户配置特定的菜单、按钮或数据的特定权限。
所述三级普通租户用户可从所述用户独立的虚拟存储区域中,获取所述用户所预先设定的默认菜单、按钮或数据的权限,并具有获取一级集团租户用户或二级子公司租户用户为其配置的特定菜单、按钮或数据的特定权限。
进一步的,本发明还可设置所述更多不同租户层级用户或更多下属租户层级用户,各个上一级租户层级用户均可设置其下属租户层级用户的预设权限和特定权限。
通过所述一级集团租户用户、所述二级租户用户以及所述三级普通租户用户或更多租户层级用户分别从各自对应的独立虚拟存储区域中读取权限数据,实现各租户层级之间权限数据的细化和隔离。
本发明的另一方面是提供一种基于微服务的多层级租户鉴权的鉴权装置,其特征在于,该装置由网关模块、认证模块和鉴权模块组成,并通过通信网络相互连接。其中:
所述网关模块:用于接收和转发用户请求,在接收到用户登录请求或授权请求后,将登录请求转发到所述认证模块,将授权请求转发到所述鉴权模块。
所述认证模块:接收从所述网关模块转发的所述用户登录请求并进行用户认证,从虚拟存储区域中获取用户所属租户层级信息并生成用户加密信息。
所述鉴权模块:接收从所述网关模块转发的所述用户授权请求并进行用户权限鉴证,从所述用户加密信息中解析得到所述用户所属租户层级信息,并根据所述用户的租户层级信息授予所述用户不同的权限。
进一步的,所述网关模块包括请求转发单元,所述请求转发单元拦截用户请求并将不同类型的用户请求转发到其它单元。
所述认证模块包括租户识别单元,所述租户识别单元解析用户请求中的用户加密信息,获取用户所属租户层级信息。
所述鉴权模块:接收从所述网关模块转发的所述用户授权请求并进行用户权限鉴证,从所述用户加密信息中解析得到所述用户所属租户层级信息,并根据所述用户的租户层级信息授予所述用户不同的权限。
本发明的突出贡献在于弥补了单一层级租户鉴权的不足,通过对租户进行分层级,不同层级的租户使用不同的鉴权体系并且不同层级之间的租户数据相互隔离,有效地保证了租户权限的精确控制、提高了数据传输和租户数据存储的安全性,尤其适合于拥有多级子公司或下属公司的大型集团采用。
本发明的鉴权装置基于微服务架构,通过网关模块、认证模块、鉴权模块三个模块的相互配合,对用户鉴权体系进行解耦,有效降低了鉴权架构设计的难度和复杂性。
附图说明
图1为本发明方法的流程时序图;
图2为本发明装置的组织示意图;
图3为本发明装置的结构示意图;
图4为本发明的数据存储示意图。
具体实施方式
以下参照附图以及示例性实施例对本发明的具体实施方式进行详细说明。本发明可以进行各种不同的改进,以及可以包括各种实施方式。以下所示出的是优选实施例,但这些优选实施例并不限定本发明的多种实施方式。
首先,本发明对于所属不同租户层级用户的职能、权限以及用户和存储方式做出如下定义:
一级租户用户:是租用云平台的集团企业,通常是含有下属子公司的集团公司。集团租户用户拥有制定各项可供二级租户用户和三级租户用户使用的业务逻辑模块权限;一级集团租户层级用户是一个内置的租户用户,一级集团租户层级用户的管理员可以创建二级子公司租户层级用户和三级普通租户层级用户,拥有对从属于该集团租户用户中所有二级租户层级用户和三级普通租户层级用户的查询、新增、删除、修改权限,并拥有赋予二级租户层级用户管理员和三级普通租户层级用户管理员各项业务逻辑模块的权限和其他特定权限。
二级租户用户:集团企业的下属子公司。二级租户层级用户拥有集团租户用户所赋予的特定权限,拥有制定各项可供三级普通租户层级用户使用的业务逻辑模块权限。二级租户层级用户的管理员可以创建三级普通租户层级用户,拥有对从属于该二级租户层级用户中所有普通租户用户的查询、新增、删除、修改权限,并拥有赋予三级普通租户层级用户管理员各项业务逻辑模块的权限和其他特定权限。
三级租户用户:是子公司的下属部门。三级普通租户层级用户的管理员可以创建属于该部门的普通租户层级用户,并拥有二级租户层级用户管理员所赋予的权限和其他特定权限。
用户:用户并不属于租户层级,而是注册在云平台上的使用者,用户拥有其权限范围内的业务数据使用权。用户可属于一级集团租户层级用户、二级子公司租户层级用户、三级普通租户层级用户中的某一种确定的租户层级用户。
本发明还可设置更多不同租户层级用户或更多下属租户层级用户,各个上一级租户层级用户均可设置其下属租户层级用户的预设权限和特定权限。
本发明的一种基于微服务的多层级租户鉴权方法及装置的具体实现步骤为:
首先进行用户创建;用户可由上述租户层级定义中的一级集团租户层级用户、二级子公司租户层级用户或三级普通租户层级用户中的管理员进行创建,创建后该用户的租户层级属于一级集团租户层级用户、二级子公司租户层级用户或三级普通租户层级用户中的一个确定层级,该用户的用户名、密码以及确定的租户层级保存在用户独立的虚拟存储区域中。
所述虚拟存储区域用来保存用户在创建时设置该用户的用户名、密码等数据。根据所述租户层级的职能和权限设置该用户与之相对应的租户层级,各租户层级所拥有的权限数据存在于各自的独立虚拟存储区域中。该独立虚拟存储区域不限于同一个数据库的不同Schema,只需要保证各租户层级的数据之间相互隔离。具体步骤如下:
1)当用户发起请求时,通过微服务网关解析出请求中的URL,根据URL判断所述用户发起请求是登录请求还是授权请求,并通过所述微服务网关转发所述用户请求。对于类型是登录请求的所述用户请求,所述微服务网关将该所述登录请求转发到步骤2,对于类型是授权请求的所述用户请求,所述微服务网关将该所述授权请求转发到步骤5;
2)所述用户认证模块接收用户登录请求,从所述登录请求的请求体中获取用户的账号及登录密码,与虚拟存储区域中用户创建时录入的用户账号及登录密码比对,并进行用户登录认证操作。
3)用户认证通过后,所述用户认证模块从所述用户的独立虚拟存储区域中获取用户的所述租户层级信息,并根据用户的所述租户层级信息使用加密算法生成用户加密信息。用户认证未通过则直接返回用户未授权。
4)所述用户认证模块发送所述用户加密信息的授权请求到所述用户授权过程。所述用户授权过程对所述用户加密信息进行校验,并将通过校验后的所述用户加密信息的授权请求发送到下述用户鉴权模块即步骤5。校验未通过则直接返回用户未授权。
5)所述用户鉴权模块从所述用户加密信息校验后的用户授权请求中解析用户加密信息,获取所述用户创建时设置的所述租户层级信息;
6)所述用户鉴权模块解析所述用户加密信息,获得所述租户确定的层级信息并进行用户鉴权,从所述用户的独立虚拟存储区域中获取用户所拥有的所述预设权限和特定权限。
本发明基于微服务的多层级租户鉴权的鉴权装置,由网关模块、认证模块和鉴权模块组成,并通过通信网络相互连接;其中:
所述网关模块用于接收和转发用户请求,在接收到用户登录请求或授权请求后,将登录请求转发到所述认证模块,将授权请求转发到所述鉴权模块;所述网关模块包括请求转发单元,所述请求转发单元拦截用户请求并将不同类型的用户请求转发到其它的不同单元,
所述认证模块:接收从所述网关模块转发的所述用户登录请求并进行用户认证,从虚拟存储区域中获取用户所属租户层级信息并生成用户加密信息;所述认证模块包括租户识别单元,所述租户识别单元解析用户请求中的用户加密信息,获取用户所属租户层级信息。
所述鉴权模块:接收从所述网关模块转发的所述用户授权请求并进行用户权限鉴证,从所述用户加密信息中解析得到所述用户所属租户层级信息,并根据所述租户层级信息授予用户不同的权限;所述鉴权模块包括租户权限单元,所述租户权限单元根据租户层级,调用不同类型的租户鉴权体系,并从租户层级对应的独立虚拟存储区域位置中获得指定租户层级类型的鉴权权限数据。
实施例1
首先进行用户创建,一级集团租户层级用户、二级租户层级用户或三级普通租户层级用户中的管理员均可在各自的租户层级下进行用户的创建。创建后该用户的租户层级属于一级集团租户层级用户、二级租户层级用户或三级普通租户层级用户中的一个确定层级。在创建用户时除了可以确定用户所在的确切层级,还可以对该用户的用户名、密码、以及该用户在确定租户层级中所拥有的菜单、按钮、数据等特定资源权限进行设置。设置完成后将用户的用户名、密码和租户层级等信息保存在各用户的独立虚拟存储区域中。
步骤1:如图1所示,以业界通用的Spring Cloud微服务架构为例。Spring Cloud微服务架构中的Eureka注册中心,负责记录架构中各个服务和服务地址的映射关系。SpringCloud微服务架构的Gateway网关,负责将各个服务提供给前台作为单一入口。当已创建的用户进行登录操作或授权操作时,微服务中的Gateway网关模块通过识别已创建用户发送登录请求或授权请求中的URL,在微服务的Eureka注册中心中找到与此URL匹配的认证微模块后,通过网关模块的请求转发单元将登录请求转发到认证模块或将授权请求转发到鉴权模块。
步骤2:认证模块的租户识别单元在将存储在虚拟存储区域中的用户账号和密码与登录请求中的用户账号和密码进行识别和比对。若比对不匹配则直接返回未授权;若比对匹配则获取该用户在创建时设置的租户层级和唯一租户ID。
步骤3:用户认证通过后,从用户的独立虚拟存储区域中获取该用户的租户层级和唯一租户ID。通过认证模块加密其租户层级和唯一租户ID存入该用户的Token令牌后,并将此Token令牌存储至虚拟存储区域并将Token令牌保存在Redis中并设置过期时间。
步骤4:经过认证模块加密的用户在发送鉴权请求时,将Token令牌与授权请求绑定并发送至网关模块。网关模块判断此Token令牌是否存在于虚拟存储区域,若存在则将此请求转发至鉴权模块;若不存在则直接返回未授权。
步骤5:鉴权模块拦截到经过网关模块发送的用户的鉴权请求后,调用认证模块校验请求中的Token令牌是否合法。若不合法则直接返回用户未授权;若合法则从Token令牌中解密出用户的租户ID和所属租户层级,否则返回未授权。获取到租户层级后的子步骤便可以根据租户层级从独立虚拟存储区域中获取到该用户在创建时设置的菜单、按钮功能权限和数据权限。其中数据权限可以控制用户可访问数据的范围。数据权限可以提供比功能数据更细的权限条件来控制权限的范围,例如可以通过用户已购买的服务以及服务使用时长等条件控制用户所拥有的权限。
步骤6:对于经过步骤5鉴权模块鉴权校验Token合法并从Token令牌中解密出用户的租户层级属于集团租户层级用户的鉴权请求,从虚拟存储区域中获取集团租户层级用户的默认菜单、按钮、数据权限,并根据其租户ID获取预先设定可配置的特定菜单、按钮、数据权限。属于集团租户层级用户可对其下属租户层级用户进行查询、新增、删除和修改,并且可以对下属租户层级用户配置特定的菜单、按钮、数据权限。
步骤7:对于经过步骤5鉴权模块鉴权校验Token合法并从Token令牌中解密出用户的租户层级用户的鉴权请求,从虚拟存储区域中获取租户管理员默认菜单、按钮、数据权限,并根据其租户ID获取一级集团租户层级用户预先设定配置的特定菜单、按钮、数据权限;属于二级租户层级用户可对其下属三级普通租户层级用户进行查询、新增、删除和修改,并且可以对下属三级普通租户层级用户配置特定的菜单、按钮、数据权限。
步骤8:对于经过步骤5鉴权模块鉴权校验Token合法并从Token令牌中解密出用户的租户层级属于普通租户层级用户的鉴权请求,从虚拟存储区域中获取普通租户层级用户预先设定的默认菜单、按钮、数据权限,并根据其租户ID获取二级租户层级用户为其配置的特定菜单、按钮、数据权限。
实施例2
本实施例提供针对集团用户的多层级权限认证方法。集团用户的组织结构如图2所示,一个集团下属有子公司1和子公司2,子公司1和子公司2分别下属有部门1和部门2两个部门。该组织结构及所拥有的权限如下:
一级集团租户层级用户即集团租户:一级集团租户层级用户位于组织结构的根节点,在多层级租户的集团租户层级用户这一层级。处于集团租户层级的用户拥有对下属子公司的增、删、改、查权限,以及配置特定菜单、按钮、数据的权限。集团租户层级用户管理员可以创建二级子公司租户层级用户。
二级租户层级用户即二级租户:子公司是集团的下属公司,位于组织结构的子节点,其组织结构的父节点为集团,子公司在多层级租户的二级租户层级用户这一层级。处于子公司的用户拥有对下属子公司部门的增、删、改、查权限,以及为下属子公司部门配置特定菜单、按钮、数据的权限。子公司管理员可以创建三级子公司部门管理员,即创建三级普通租户层级用户。
三级普通租户层级用户即三级普通租户用户,子公司部门是子公司的下属部门,位于组织结构的叶子节点,其组织结构的父节点为子公司,子公司部门在多层级租户的普通租户这一层级。处于子公司部门的用户拥有对子公司部门即对三级普通租户层级用户的增、删、改、查权限,以及配置特定菜单、按钮、数据的权限。
实施例3
本实施例是基于微服务并采用多层级租户鉴权的鉴权装置实施例。如图3所示,本实施例提供了一种多租户鉴权装置,该装置由网关模块、认证模块和鉴权模块组成,并通过通信网络相互连接,其中:
网关模块包括请求转发单元,用于接收和转发用户请求,请求转发单元拦截用户请求并将不同类型的用户请求转发到其它的不同单元。网关模块在接收到用户登录请求或授权请求后,通过网关模块的请求转发单元将登录请求转发到所述认证模块,将授权请求转发到所述鉴权模块。其主要功能包含:
1、过滤不合法的用户请求,例如用户请求中的Token令牌与虚拟存储区域中保存的Token令牌不匹配时,直接返回未授权。
2、将用户请求转发到相应的设备单元。例如该单元可识别出用户授权请求并将请求转发到租户识别单元。
认证模块包括租户识别单元,租户识别单元解析用户请求中的用户加密信息,获取用户所属租户层级信息,接收从所述网关模块转发的所述用户登录请求并进行用户认证,从虚拟存储区域中获取用户所属租户层级信息并生成用户加密信息。如从用户请求的请求头中获取到Token令牌,并对该Token令牌进行解密得到租户ID、租户层级、租户虚拟存储区域位置等信息。
鉴权模块包括租户权限单元,鉴权模块接收从网关模块转发的所述用户授权请求并进行用户权限鉴证,从用户加密信息中解析得到所述用户所属租户层级信息,并根据所述租户层级信息授予用户不同的权限;租户权限单元根据租户层级,调用不同类型的租户鉴权体系,并从租户层级对应的独立虚拟存储区域位置中获得指定租户层级类型的鉴权权限数据。如图4所示,集团租户层级、租户管理员层级、普通租户层级的用户分别从各自对应的独立虚拟存储区域中读取权限数据,满足了各层级之间权限数据的细化和隔离。
本发明还可根据实际需要设置更多不同租户层级用户或更多下属租户层级用户,各个上一级租户层级用户均可设置其下属租户层级用户的预设权限和特定权限,各个下属租户层级用户均可拥有上一级租户层级用户管理员所赋予的权限和其他特定权限。
本发明的方法和装置弥补了单一层级租户鉴权的不足,通过采用对租户进行分层级以及不同层级的租户使用不同鉴权体系的方法,使不同层级租户的数据相互隔离,有效地保证了租户权限的精确控制、提高了数据传输和租户数据存储的安全性。
以上详细描述了本发明的优选实施方式,但是,本发明并不限于此。在本发明的技术构思范围内,对本发明技术方案所进行的各种改进或组合,均属于本发明的保护范围。

Claims (3)

1.一种基于微服务的多层级租户鉴权方法,其特征在于,该方法对租户进行分层级管理,将用户分为一级租户用户、二级租户用户以及三级租户用户或更多不同租户层级用户,所述不同租户层级用户拥有不同的预设权限和特定权限;
用户鉴权分为用户认证和用户鉴权过程;其中,用户认证负责用户的认证并区分出用户所属的租户层级;用户鉴权是对用户认证所区分出的不同租户层级使用不同的预设权限和特定权限;
由所述一级租户用户、二级租户用户或三级租户用户的管理员进行用户创建,创建后将确定所述用户的租户层级,并将所述用户的用户名、密码以及所确定的租户层级保存在所述用户的独立虚拟存储区域中;
该方法采用如下步骤:
1)用户发起请求时,通过微服务网关解析并判断所述用户发起请求是登录请求还是授权请求,并通过所述微服务网关转发所述用户请求;对于类型是登录请求的所述用户请求,所述微服务网关将该所述登录请求转发到步骤2,对于类型是授权请求的所述用户请求,所述微服务网关将该所述授权请求转发到步骤5;
2)用户认证模块接收用户登录请求,从所述登录请求中获取用户的账号及登录密码,进行用户登录认证操作;
3)用户认证通过后,所述用户认证模块从所述用户的独立虚拟存储区域中获取用户的所述租户层级信息,并根据用户的所述租户层级信息生成用户加密信息;用户认证未通过则直接返回用户未授权;
4)所述用户认证模块发送所述用户加密信息的授权请求到所述用户授权过程;所述用户授权过程对所述用户加密信息进行校验,并将通过校验后的所述用户加密信息的授权请求发送到下述用户鉴权模块即步骤5,校验未通过则直接返回用户未授权;
5)所述用户鉴权模块从所述用户加密信息校验后的用户授权请求中解析用户加密信息,获取所述用户创建时设置的所述租户层级信息;
6)所述用户鉴权模块解析所述用户加密信息,获得确定的所述租户层级信息并进行用户鉴权,从所述用户的独立虚拟存储区域中获取用户所拥有的所述预设权限和特定权限;
其中,将所述用户分为一级集团租户用户、一级集团租户用户下属的二级子公司租户用户、二级子公司租户下属的三级普通租户用户三个租户层级用户或更多下属用户,所述不同租户层级用户拥有不同的预设权限和特定权限;
通过所述一级集团租户用户、所述二级租户用户以及所述三级普通租户用户分别从各自对应的独立虚拟存储区域中读取权限数据,实现各租户层级之间权限数据的细化和隔离;
所述一级集团租户用户可从所述用户的独立虚拟存储区域中,获取该用户拥有管理其集团租户用户下属的各级租户用户的预设权限和特定权限;一级集团租户用户可以创建二级子公司租户用户和三级普通租户用户,可对其下属租户用户进行预设权限的查询、新增、删除和修改,并且具有对下属租户用户配置特定的菜单、按钮或数据的特定权限;
所述二级子公司租户用户可从所述用户的独立虚拟存储区域中,获取所述用户拥有管理其下属租户用户的预设权限和特定权限;二级子公司租户用户可对其下属的三级普通租户用户进行预设权限的查询、新增、删除和修改,并且具有对下属普通租户用户配置特定的菜单、按钮或数据的特定权限;
更多不同的所述三级普通租户用户可从所述用户独立的虚拟存储区域中,获取所述用户所预先设定的默认菜单、按钮或数据的权限,并具有获取上一级集团租户用户或二级子公司租户用户为其配置的特定菜单、按钮或数据的特定权限。
2.根据权利要求1所述的鉴权方法,其特征在于,还可设置所述更多不同租户层级用户或更多下属租户层级用户,各个上一级租户层级用户均可设置其下属租户层级用户的预设权限和特定权限。
3.一种执行权利要求1或2所述方法的多层级租户鉴权装置,其特征在于,该装置由网关模块、认证模块和鉴权模块组成,并通过通信网络相互连接;其中:
所述网关模块:用于接收和转发用户请求,在接收到用户登录请求或授权请求后,将登录请求转发到所述认证模块,将授权请求转发到所述鉴权模块;
所述认证模块:接收从所述网关模块转发的所述用户登录请求并进行用户认证,从虚拟存储区域中获取用户所属租户层级信息并生成用户加密信息;
所述鉴权模块:接收从所述网关模块转发的所述用户授权请求并进行用户权限鉴证,从所述用户加密信息中解析得到所述用户所属租户层级信息,并根据所述用户的租户层级信息授予所述用户不同的权限;
其中,所述网关模块包括请求转发单元,所述请求转发单元拦截用户请求并将不同类型的用户请求转发到其它单元;
所述认证模块包括租户识别单元,所述租户识别单元解析用户请求中的用户加密信息,获取用户所属租户层级信息;
所述鉴权模块包括租户权限单元,所述租户权限单元根据租户层级调用不同类型的租户鉴权体系,并从租户层级对应的独立虚拟存储区域位置中获取指定租户层级用户的鉴权权限数据。
CN202010634711.XA 2020-07-02 2020-07-02 一种基于微服务的多层级租户鉴权方法及装置 Active CN111865943B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010634711.XA CN111865943B (zh) 2020-07-02 2020-07-02 一种基于微服务的多层级租户鉴权方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010634711.XA CN111865943B (zh) 2020-07-02 2020-07-02 一种基于微服务的多层级租户鉴权方法及装置

Publications (2)

Publication Number Publication Date
CN111865943A CN111865943A (zh) 2020-10-30
CN111865943B true CN111865943B (zh) 2023-04-07

Family

ID=73151914

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010634711.XA Active CN111865943B (zh) 2020-07-02 2020-07-02 一种基于微服务的多层级租户鉴权方法及装置

Country Status (1)

Country Link
CN (1) CN111865943B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559076B (zh) * 2020-12-21 2022-06-14 支付宝(杭州)信息技术有限公司 一种租户信息处理方法、装置、系统及设备
CN113591126B (zh) * 2021-08-12 2023-02-07 北京滴普科技有限公司 一种数据权限处理方法及计算机可读存储介质
CN114143069B (zh) * 2021-11-26 2023-03-14 联奕科技股份有限公司 一种应用于微服务的权限管理系统及方法
CN114500223B (zh) * 2022-01-21 2024-01-16 深圳日浩科技现代服务业有限公司 一种基于云应用的双组织管理系统及其方法
CN114760134A (zh) * 2022-04-18 2022-07-15 成都星云智联科技有限公司 一种多租户隔离方法及相关装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268457A (zh) * 2013-05-31 2013-08-28 重庆大学 基于云计算的多层级关系信息管理系统及设计方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8949939B2 (en) * 2010-10-13 2015-02-03 Salesforce.Com, Inc. Methods and systems for provisioning access to customer organization data in a multi-tenant system
US9411973B2 (en) * 2013-05-02 2016-08-09 International Business Machines Corporation Secure isolation of tenant resources in a multi-tenant storage system using a security gateway
CN103312721B (zh) * 2013-07-04 2016-12-28 北京迈普华兴信息技术有限公司 一种云平台访问控制架构及其实现方法
CN109656879B (zh) * 2018-12-13 2023-06-13 深圳前海微众银行股份有限公司 大数据资源管理方法、装置、设备及存储介质
CN110365547B (zh) * 2019-09-09 2019-12-24 数字广东网络建设有限公司 多层级租户体系的租户节点创建方法、装置、设备和计算机可读存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268457A (zh) * 2013-05-31 2013-08-28 重庆大学 基于云计算的多层级关系信息管理系统及设计方法

Also Published As

Publication number Publication date
CN111865943A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111865943B (zh) 一种基于微服务的多层级租户鉴权方法及装置
US10523656B2 (en) Session migration between network policy servers
CN109643242B (zh) 用于多租户hadoop集群的安全设计和架构
US8387136B2 (en) Role-based access control utilizing token profiles
US8387137B2 (en) Role-based access control utilizing token profiles having predefined roles
US6055637A (en) System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential
US9401918B2 (en) User to user delegation service in a federated identity management environment
US7103784B1 (en) Group types for administration of networks
CN109960900B (zh) 一种注册码生成方法及系统
US8095969B2 (en) Security assertion revocation
JP2010503123A (ja) セキュリティ許可照会
CN101321064A (zh) 一种基于数字证书技术的信息系统的访问控制方法及装置
US20130014283A1 (en) Database application security
US11888856B2 (en) Secure resource authorization for external identities using remote principal objects
US11552956B2 (en) Secure resource authorization for external identities using remote principal objects
US20080066158A1 (en) Authorization Decisions with Principal Attributes
CN112019543A (zh) 一种基于brac模型的多租户权限系统
KR102194061B1 (ko) 권한 취소 방법 및 디바이스
JP2007519062A (ja) 電子証明のセキュア化方法
KR20070076342A (ko) 그리드 환경에서 사용자 그룹 역할/권한 관리 시스템 및접근 제어 방법
KR100657554B1 (ko) 데이터베이스 접근 및 권한 관리 강화 방법
CN116707849A (zh) 针对飞地实例的云服务访问权限设置方法和云管理平台
KR100845309B1 (ko) 콘텐츠의 접근 권한 제어 방법 및 장치
US20150215318A1 (en) Case management system
CN111064695A (zh) 一种认证方法及认证系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant