CN112615849B - 微服务访问方法、装置、设备及存储介质 - Google Patents
微服务访问方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112615849B CN112615849B CN202011476001.5A CN202011476001A CN112615849B CN 112615849 B CN112615849 B CN 112615849B CN 202011476001 A CN202011476001 A CN 202011476001A CN 112615849 B CN112615849 B CN 112615849B
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- target
- access request
- preset
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及信息安全技术领域,公开了一种微服务访问方法、装置、设备及存储介质,用于提高微服务访问准确率。微服务访问方法包括:通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌;若过期时刻小于或者等于当前时刻,则按照新的用户令牌向目标权限管理服务发送权限获取请求,得到目标用户权限列表;若过期时刻大于当前时刻,则根据目标用户令牌获取租户标识值和缓存的权限列表数据;若缓存的权限列表数据中不存在访问请求地址,则生成警示信息;若缓存的权限列表数据中存在访问请求地址,则基于租户标识值和访问请求地址对目标***微服务进行访问。此外,本发明还涉及区块链技术,访问请求地址可存储于区块链节点中。
Description
技术领域
本发明涉及信息安全技术的网关控制领域,尤其涉及一种微服务访问方法、装置、设备及存储介质。
背景技术
在现有的单体应用中认证与应用接口API、菜单的权限控制一般采用一个公共的jar包,需要权限控制的微服务引入权限的包,在其基础上进行适配;或者单独为每个应用开发对应的权限管理模块。
现有的权限控制方案对微服务的入侵比较严重,一般需要在微服务内新建对应的权限相关表,在本地数据库存储权限相关的数据,再将本地数据库与jar包中的接口进行适配。同时由于权限缺乏统一的管理,当一个***具有多个子微服务时,每个子微服务之间需要进行权限数据的同步,容易引起权限数据的不一致。并且每一个子服务都需要执行权限校验规则,每一个子微服务在接入权限时都需要投入大量开发测试,导致微服务集群的权限验证效率低和微服务访问准确率低的问题。
发明内容
本发明提供了一种微服务访问方法、装置、设备及存储介质,用于提高微服务集群的权限验证效率和微服务访问准确率。
为实现上述目的,本发明第一方面提供了一种微服务访问方法,包括:通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌,所述预设微服务网关为基于预设路由过滤对象实现的请求***;获取当前时刻和目标用户令牌的过期时刻,并判断所述过期时刻是否大于所述当前时刻;若所述过期时刻小于或者等于所述当前时刻,则获取新的用户令牌,按照所述新的用户令牌向目标权限管理服务发送权限获取请求,得到目标用户权限列表,并根据所述新的用户令牌将所述目标用户权限列表写入至内存数据库中的会话信息,所述目标权限管理服务用于指示对多个租户进行微服务授权操作;若所述过期时刻大于所述当前时刻,则根据所述目标用户令牌查询内存数据库中的会话信息,得到租户标识值和缓存的权限列表数据,判断所述缓存的权限列表数据中是否存在所述访问请求地址;若所述缓存的权限列表数据中不存在所述访问请求地址,则按照所述目标用户令牌和所述租户标识值生成操作日志信息,获取并展示警示信息,所述警示信息用于指示微服务访问请求受限;若所述缓存的权限列表数据中存在所述访问请求地址,则基于所述租户标识值确定目标微服务集群,按照所述访问请求地址对所述目标微服务集群中的目标***微服务进行访问,得到访问结果。
可选的,在本发明第一方面的第一种实现方式中,所述通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌,所述预设微服务网关为基于预设路由过滤对象实现的请求***,包括:接收微服务访问请求,通过预设微服务网关拦截并解析所述微服务访问请求,得到请求头信息,所述预设微服务网关为基于预设路由过滤对象zuulfilter实现的请求***;按照预设参数名从所述请求头信息中读取访问请求地址和目标用户令牌,所述目标用户令牌为用户成功登录微服务时设置的字符串。
可选的,在本发明第一方面的第二种实现方式中,所述若所述过期时刻小于或者等于所述当前时刻,则获取新的用户令牌,按照所述新的用户令牌向目标权限管理服务发送权限获取请求,得到目标用户权限列表,并根据所述新的用户令牌将所述目标用户权限列表写入至内存数据库中的会话信息,所述目标权限管理服务用于指示对多个租户进行微服务授权操作,包括:若所述过期时刻小于或者等于所述当前时刻,则调用预设登录页面引导用户重新登录,得到登录结果;当所述登录结果为预设值时,确定用户登录成功,并获取新的用户令牌和用户的会话信息,将所述新的用户令牌和所述用户的会话信息关联映射并存储至内存数据库中;按照所述新的用户令牌从所述用户的会话信息中获取用户唯一标识和租户标识值,并基于所述用户唯一标识和所述租户标识值向目标权限管理服务发送权限获取请求,以使得所述目标权限管理服务按照所述用户唯一标识和所述租户标识值查找并返回目标用户权限列表,所述目标权限管理服务用于指示对多个租户进行微服务授权操作;接收所述目标用户权限列表,基于所述新的用户令牌将所述目标用户权限列表更新至所述内存数据库中的会话信息,得到更新结果,并根据所述更新结果确定是否发送所述微服务访问请求。
可选的,在本发明第一方面的第三种实现方式中,所述若所述过期时刻大于所述当前时刻,则根据所述目标用户令牌查询内存数据库中的会话信息,得到租户标识值和缓存的权限列表数据,判断所述缓存的权限列表数据中是否存在所述访问请求地址,包括:若所述过期时刻大于所述当前时刻,则将所述目标用户令牌设置为目标键,按照所述目标键查询内存数据库中的会话信息,得到目标值,所述会话信息为用户首次登录时调用预设权限服务获取的用户权限列表数据;当所述目标值不为空值时,从所述目标值中获取租户标识值和缓存的权限列表数据;调用预设查找函数按照所述访问请求地址检索所述缓存的权限列表数据,得到检索结果;若所述检索结果不为预设目标值,则确定所述缓存的权限列表数据中不存在所述访问请求地址,生成提示信息,所述提示信息用于指示所述微服务访问请求存在异常;若所述检索结果为预设目标值,则确定所述缓存的权限列表数据中存在所述访问请求地址。
可选的,在本发明第一方面的第四种实现方式中,所述若所述缓存的权限列表数据中不存在所述访问请求地址,则按照所述目标用户令牌和所述租户标识值生成操作日志信息,获取并展示警示信息,所述警示信息用于指示微服务访问请求受限,包括:若所述缓存的权限列表数据中不存在所述访问请求地址,则按照所述目标用户令牌和所述租户标识值生成操作日志信息,并将所述操作日志信息更新至所述内存数据库中;按照预设模板生成警示信息,通过预设提示框对所述警示信息进行显示,所述警示信息用于指示微服务访问请求受限。
可选的,在本发明第一方面的第五种实现方式中,所述若所述缓存的权限列表数据中存在所述访问请求地址,则基于所述租户标识值确定目标微服务集群,按照所述访问请求地址对所述目标微服务集群中的目标***微服务进行访问,得到访问结果,包括:若所述缓存的权限列表数据中存在所述访问请求地址,则基于所述租户标识值查询预设数据表,得到目标微服务集群,所述目标微服务集群用于指示***微服务所属容器的列表数据;获取随机数,并按照所述随机数对***微服务所属容器数量进行取余,得到目标余数;将所述目标余数设置为***微服务所属容器的索引,按照所述访问请求地址和所述***微服务所属容器的索引对所述目标微服务集群中的目标***微服务进行服务调用,得到访问结果,所述访问结果包括访问成功和访问失败。
可选的,在本发明第一方面的第六种实现方式中,在所述通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌,所述预设微服务网关为基于预设路由过滤对象实现的请求***之前,所述微服务访问方法还包括:通过所述目标权限管理服务新增租户,并对所述租户配置对应的租户信息;获取包含多个用户信息的配置文件,并将所述配置文件导入至所述目标权限管理服务中,以使得多个用户信息分别与所述租户进行关联绑定;对所述租户新增至少一个***微服务,对每个***微服务新建资源项信息,所述资源项信息包括菜单资源和界面按钮;对所述租户创建角色树,对所述角色树中的每个角色设置所述资源项信息,并将所述角色树中的角色数据分配至与所述租户关联绑定的多个用户。
本发明第二方面提供了一种微服务访问装置,包括:拦截模块,用于通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌,所述预设微服务网关为基于预设路由过滤对象实现的请求***;判断模块,用于获取当前时刻和目标用户令牌的过期时刻,并判断所述过期时刻是否大于所述当前时刻;写入模块,若所述过期时刻小于或者等于所述当前时刻,则用于获取新的用户令牌,按照所述新的用户令牌向目标权限管理服务发送权限获取请求,得到目标用户权限列表,并根据所述新的用户令牌将所述目标用户权限列表写入至内存数据库中的会话信息,所述目标权限管理服务用于指示对多个租户进行微服务授权操作;查询模块,若所述过期时刻大于所述当前时刻,则用于根据所述目标用户令牌查询内存数据库中的会话信息,得到租户标识值和缓存的权限列表数据,判断所述缓存的权限列表数据中是否存在所述访问请求地址;处理模块,若所述缓存的权限列表数据中不存在所述访问请求地址,则用于按照所述目标用户令牌和所述租户标识值生成操作日志信息,获取并展示警示信息,所述警示信息用于指示微服务访问请求受限;访问模块,若所述缓存的权限列表数据中存在所述访问请求地址,则用于基于所述租户标识值确定目标微服务集群,按照所述访问请求地址对所述目标微服务集群中的目标***微服务进行访问,得到访问结果。
可选的,在本发明第二方面的第一种实现方式中,所述拦截模块具体用于:接收微服务访问请求,通过预设微服务网关拦截并解析所述微服务访问请求,得到请求头信息,所述预设微服务网关为基于预设路由过滤对象zuulfilter实现的请求***;按照预设参数名从所述请求头信息中读取访问请求地址和目标用户令牌,所述目标用户令牌为用户成功登录微服务时设置的字符串。
可选的,在本发明第二方面的第二种实现方式中,所述写入模块具体用于:若所述过期时刻小于或者等于所述当前时刻,则调用预设登录页面引导用户重新登录,得到登录结果;当所述登录结果为预设值时,确定用户登录成功,并获取新的用户令牌和用户的会话信息,将所述新的用户令牌和所述用户的会话信息关联映射并存储至内存数据库中;按照所述新的用户令牌从所述用户的会话信息中获取用户唯一标识和租户标识值,并基于所述用户唯一标识和所述租户标识值向目标权限管理服务发送权限获取请求,以使得所述目标权限管理服务按照所述用户唯一标识和所述租户标识值查找并返回目标用户权限列表,所述目标权限管理服务用于指示对多个租户进行微服务授权操作;接收所述目标用户权限列表,基于所述新的用户令牌将所述目标用户权限列表更新至所述内存数据库中的会话信息,得到更新结果,并根据所述更新结果确定是否发送所述微服务访问请求。
可选的,在本发明第二方面的第三种实现方式中,所述查询模块具体用于:若所述过期时刻大于所述当前时刻,则将所述目标用户令牌设置为目标键,按照所述目标键查询内存数据库中的会话信息,得到目标值,所述会话信息为用户首次登录时调用预设权限服务获取的用户权限列表数据;当所述目标值不为空值时,从所述目标值中获取租户标识值和缓存的权限列表数据;调用预设查找函数按照所述访问请求地址检索所述缓存的权限列表数据,得到检索结果;若所述检索结果不为预设目标值,则确定所述缓存的权限列表数据中不存在所述访问请求地址,生成提示信息,所述提示信息用于指示所述微服务访问请求存在异常;若所述检索结果为预设目标值,则确定所述缓存的权限列表数据中存在所述访问请求地址。
可选的,在本发明第二方面的第四种实现方式中,所述处理模块具体用于:若所述缓存的权限列表数据中不存在所述访问请求地址,则按照所述目标用户令牌和所述租户标识值生成操作日志信息,并将所述操作日志信息更新至所述内存数据库中;按照预设模板生成警示信息,通过预设提示框对所述警示信息进行显示,所述警示信息用于指示微服务访问请求受限。
可选的,在本发明第二方面的第五种实现方式中,所述访问模块具体用于:若所述缓存的权限列表数据中存在所述访问请求地址,则基于所述租户标识值查询预设数据表,得到目标微服务集群,所述目标微服务集群用于指示***微服务所属容器的列表数据;获取随机数,并按照所述随机数对***微服务所属容器数量进行取余,得到目标余数;将所述目标余数设置为***微服务所属容器的索引,按照所述访问请求地址和所述***微服务所属容器的索引对所述目标微服务集群中的目标***微服务进行服务调用,得到访问结果,所述访问结果包括访问成功和访问失败。
可选的,在本发明第二方面的第六种实现方式中,所述微服务访问装置还包括:配置模块,用于通过所述目标权限管理服务新增租户,并对所述租户配置对应的租户信息;导入模块,用于获取包含多个用户信息的配置文件,并将所述配置文件导入至所述目标权限管理服务中,以使得多个用户信息分别与所述租户进行关联绑定;新增模块,用于对所述租户新增至少一个***微服务,对每个***微服务新建资源项信息,所述资源项信息包括菜单资源和界面按钮;分配模块,用于对所述租户创建角色树,对所述角色树中的每个角色设置所述资源项信息,并将所述角色树中的角色数据分配至与所述租户关联绑定的多个用户。
本发明第三方面提供了一种微服务访问设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述微服务访问设备执行上述的微服务访问方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的微服务访问方法。
本发明提供的技术方案中,通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌,所述预设微服务网关为基于预设路由过滤对象实现的请求***;获取当前时刻和目标用户令牌的过期时刻,并判断所述过期时刻是否大于所述当前时刻;若所述过期时刻小于或者等于所述当前时刻,则获取新的用户令牌,按照所述新的用户令牌向目标权限管理服务发送权限获取请求,得到目标用户权限列表,并根据所述新的用户令牌将所述目标用户权限列表写入至内存数据库中的会话信息,所述目标权限管理服务用于指示对多个租户进行微服务授权操作;若所述过期时刻大于所述当前时刻,则根据所述目标用户令牌查询内存数据库中的会话信息,得到租户标识值和缓存的权限列表数据,判断所述缓存的权限列表数据中是否存在所述访问请求地址;若所述缓存的权限列表数据中不存在所述访问请求地址,则按照所述目标用户令牌和所述租户标识值生成操作日志信息,获取并展示警示信息,所述警示信息用于指示微服务访问请求受限;若所述缓存的权限列表数据中存在所述访问请求地址,则基于所述租户标识值确定目标微服务集群,按照所述访问请求地址对所述目标微服务集群中的目标***微服务进行访问,得到访问结果。本发明实施例中,通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌;在用户令牌过期后按照新的用户令牌向目标权限管理服务获取并缓存目标用户权限列表;在过期时刻内基于租户标识值确定目标微服务集群,按照访问请求地址对目标微服务集群中的***微服务进行访问,提高了微服务集群的权限验证效率和微服务访问准确率。
附图说明
图1为本发明实施例中微服务访问方法的一个实施例示意图;
图2为本发明实施例中微服务访问方法的另一个实施例示意图;
图3为本发明实施例中微服务访问装置的一个实施例示意图;
图4为本发明实施例中微服务访问装置的另一个实施例示意图;
图5为本发明实施例中微服务访问设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种微服务访问方法、装置、设备及存储介质,用于在过期时刻内基于租户标识值确定目标微服务集群,按照访问请求地址对目标微服务集群中的***微服务进行访问,提高微服务集群的权限验证效率和微服务访问准确率。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中微服务访问方法的一个实施例包括:
101、通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌,预设微服务网关为基于预设路由过滤对象实现的请求***。
其中,预设微服务网关作为整个微服务前端流量的总入口,所有对微服务的访问必须经过预设微服务网关,预设微服务网关拦截所有的微服务访问请求,并调用权限服务进行认证校验。具体的,终端通过预设微服务网关拦截终端发送的微服务访问请求;终端从微服务访问请求中提取对应的访问请求地址url与目标用户令牌token。
进一步地,将访问请求地址存储于区块链数据库中,具体此处不做限定。
可以理解的是,本发明的执行主体可以为微服务访问装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以终端为执行主体为例进行说明。
102、获取当前时刻和目标用户令牌的过期时刻,并判断过期时刻是否大于当前时刻。
每个目标用户令牌均存在过期时刻,其过期时刻与用户在内存数据库中的会话信息的过期时刻是一致的。具体的,终端按照预设时刻生成函数(例如,预设时刻生成函数为time())生成当前时刻;终端按照目标用户令牌从预设数据配置表中读取目标用户令牌的过期时刻;终端将过期时刻与当前时刻进行差运算,得到差值;终端判断差值是否大于0;若差值大于0,则终端确定过期时刻大于当前时刻,并执行步骤104;若差值小于或者等于0,则终端确定过期时刻小于或者等于当前时刻,并执行步骤103。
103、若过期时刻小于或者等于当前时刻,则获取新的用户令牌,按照新的用户令牌向目标权限管理服务发送权限获取请求,得到目标用户权限列表,并根据新的用户令牌将目标用户权限列表写入至内存数据库中的会话信息,目标权限管理服务用于指示对多个租户进行微服务授权操作。
具体的,终端更新过期时刻,并按照用户令牌向目标权限管理服务发送权限获取请求,以使得目标权限管理服务按照用户令牌查找并返回用户权限列表,终端根据用户令牌对返回的用户权限列表重新写入至内存数据库的会话信息中。也就是,终端在内存数据库中查找token有权限的url中是否包含当前请求的url,如果包含则路由到对应的微服务上。由于内存数据库具有过期时刻,当终端检测到过期时刻小于或者等于当前时刻时,终端从目标权限管理服务加载并缓存该用户的权限列表。目标权限管理服务根据token识别对应的用户及该用户对应的租户,进而查询出该用户的权限列表返给网关服务。其中,目标权限管理服务为基于预设框架springboot构建的微服务。
104、若过期时刻大于当前时刻,则根据目标用户令牌查询内存数据库中的会话信息,得到租户标识值和缓存的权限列表数据,判断缓存的权限列表数据中是否存在访问请求地址。
可以理解的是,终端发送登录请求至服务器,服务器创建会话信息和目标用户令牌,并将会话信息和目标用户令牌映射关联后,向终端发送已关联的会话信息和目标用户令牌,终端将其存储至内存数据库中,其中,会话信息包括权限列表数据。终端每次发送微服务访问请求中都包含目标用户令牌,目标用户令牌用于指示用户的唯一标识信息。***通过验证目标用户令牌和访问请求地址验证每个微服务访问请求并建立安全上下文。安全上下文描述了用户主体及其角色,终端使用安全上下文来获取用户在内存数据库中的会话信息,并从会话信息读取目标用户令牌对应的租户标识值和缓存的权限资源列表。
105、若缓存的权限列表数据中不存在访问请求地址,则按照目标用户令牌和租户标识值生成操作日志信息,获取并展示警示信息,警示信息用于指示微服务访问请求受限。
具体的,若缓存的权限列表数据中不存在访问请求地址,则终端基于目标用户令牌和租户标识值生成操作日志信息,并将操作日志信息存储至内存数据库中,进一步地,终端将内存数据库进行数据持久化处理或者数据备份处理,以防止数据丢失,确保数据的安全性。然后终端从内存数据库中获取预设模板,终端根据预设模板生成警示信息,警示信息用于指示微服务访问请求受限(也就是,用户不具有访问权限)。
106、若缓存的权限列表数据中存在访问请求地址,则基于租户标识值确定目标微服务集群,按照访问请求地址对目标微服务集群中的目标***微服务进行访问,得到访问结果。
其中,***微服务可以为资产管理***,也可以为订单管理***,还可以为财务***或者销售管理***,具体此处不做限定。一个租户可以包括多个用户,不同租户具有各自对应的***服务群。可以理解的是,预设***服务中的每张表都存在一个字段tenantId(租户标识值),用于标记该数据的所属租户,微服务访问请求在鉴权以后需要携带该字段作为微服务访问条件,预设***服务中的所有数据都标记了所属租户。
本发明实施例中,通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌;在用户令牌过期后按照新的用户令牌向目标权限管理服务获取并缓存目标用户权限列表;在过期时刻内基于租户标识值确定目标微服务集群,按照访问请求地址对目标微服务集群中的***微服务进行访问,提高了微服务集群的权限验证效率和微服务访问准确率。
请参阅图2,本发明实施例中微服务访问方法的另一个实施例包括:
201、接收微服务访问请求,通过预设微服务网关拦截并解析微服务访问请求,得到请求头信息,预设微服务网关为基于预设路由过滤对象zuulfilter实现的请求***。
例如,request=RequestContext.getCurrentContext(),其中,request用于指示终端获取的请求头信息。
进一步地,在步骤201之前,终端通过目标权限管理服务新增租户,并对租户配置对应的租户信息;终端获取包含多个用户信息的配置文件,并将配置文件导入至目标权限管理服务中,以使得多个用户信息分别与租户进行关联绑定;终端对租户新增至少一个***微服务,对每个***微服务新建资源项信息,资源项信息包括菜单资源和界面按钮;终端对租户创建角色树,对角色树中的每个角色设置资源项信息,并将角色树中的角色数据分配至与租户关联绑定的多个用户。也就是,终端通过目标权限服务进行租户和用户对微服务访问的权限控制,并且,租户与用户为一对多关系,目标权限服务可管理多个租户。
202、按照预设参数名从请求头信息中读取访问请求地址和目标用户令牌,目标用户令牌为用户成功登录微服务时设置的字符串。
例如,终端从请求头信息request中获取访问请求地址url和目标用户令牌token。预设路由过滤对象为zuulfilter。
需要说明的是,终端还需要预先搭建内存数据库,用来缓存预设微服务网关的会话session信息,例如,内存数据库可以为远程服务字典redis服务,也可以为其他数据库,具体此处不做限定;然后终端预先部署与预设微服务网关的程序包;其次终端预先部署基于对象关系型数据库管理***pgsql的数据库集群,以便于作为权限管理服务的数据库;最后终端部署预先配置的权限服务程序包。
203、获取当前时刻和目标用户令牌的过期时刻,并判断过期时刻是否大于当前时刻。
该步骤203与步骤102的执行过程相似,具体此处不再赘述。
204、若过期时刻小于或者等于当前时刻,则获取新的用户令牌,按照新的用户令牌向目标权限管理服务发送权限获取请求,得到目标用户权限列表,并根据新的用户令牌将目标用户权限列表写入至内存数据库中的会话信息,目标权限管理服务用于指示对多个租户进行微服务授权操作。
需要说明的是,目标权限管理服务用于提供权限资源的管理、角色管理、授权管理、认证服务功能。该目标权限管理服务在基于角色的访问控制(Role-Based AccessControl,RBAC)模型上增加了租户的概念,一个业务***为一个租户可以包含多个微服务,包含一套权限数据,不同租户的权限控制数据完全隔离,在登陆时建立token与租户的关系。权限类型分为操作权限、管理权限和授权权限,其中,操作权限用于控制url、界面按钮与元素的访问与调用,返给网关的权限列表就只有操作权限。管理权限用于对url自身的管理如新增、删除、修改等。授权权限用于控制对操作、管理权限的授予控制。目标权限管理服务在实际获取权限列表时,通过token从会话中查询出对应的用户与租户,再获取用户在该租户中的角色列表,根据角色列表查询权限列表。
可选的,若过期时刻小于或者等于当前时刻,则终端调用预设登录页面引导用户重新登录,得到登录结果;当登录结果为预设值时,终端确定用户登录成功,并获取新的用户令牌和用户的会话信息,将新的用户令牌和用户的会话信息关联映射并存储至内存数据库中;终端按照新的用户令牌从用户的会话信息中获取用户唯一标识和租户标识值,并基于用户唯一标识和租户标识值向目标权限管理服务发送权限获取请求,以使得目标权限管理服务按照用户唯一标识和租户标识值查找并返回目标用户权限列表,目标权限管理服务用于指示对多个租户进行微服务授权操作;终端接收目标用户权限列表,基于新的用户令牌将目标用户权限列表更新至内存数据库中的会话信息,得到更新结果,并根据更新结果确定是否发送微服务访问请求。
205、若过期时刻大于当前时刻,则根据目标用户令牌查询内存数据库中的会话信息,得到租户标识值和缓存的权限列表数据,判断缓存的权限列表数据中是否存在访问请求地址。
需要说明的是,一个租户对应一个用户群(例如,一个公司或者一个公司事业部的员工),用户群中的单个人员便是***的用户了,一个业务***一般用来解决一个用户群的业务问题。其中,缓存的权限列表数据包括用户对应的租户、拥有所有权限的角色标识和所有权限的资源标识。可选的,当用户初次登录微服务时,目标权限管理服务根据用户名查询用户信息,用户信息包含该用户的所属租户标识值,然后再从用户角色关系表和角色资源关系表分别查询具有权限的所有角色标识、资源标识与url,,然后终端将这些信息保存到用户的会话信息中,得到缓存的权限列表数据。
可选的,若过期时刻大于当前时刻,则终端将目标用户令牌设置为目标键,按照目标键查询内存数据库中的会话信息,得到目标值,会话信息为用户首次登录时调用预设权限服务获取的用户权限列表数据,也就是,终端将权限列表数据存到当前的会话session中,缓存数据的过期与session保持一致。当目标值不为空值时,终端从目标值中获取租户标识值和缓存的权限列表数据;终端调用预设查找函数按照访问请求地址检索缓存的权限列表数据,得到检索结果;若检索结果不为预设目标值,则终端确定缓存的权限列表数据中不存在访问请求地址,终端生成提示信息,提示信息用于指示微服务访问请求存在异常;若检索结果为预设目标值,则终端确定缓存的权限列表数据中存在访问请求地址。
206、若缓存的权限列表数据中不存在访问请求地址,则按照目标用户令牌和租户标识值生成操作日志信息,获取并展示警示信息,警示信息用于指示微服务访问请求受限。
也就是,若缓存的权限列表数据中不存在访问请求地址,则终端确定微服务访问请求存在异常。可选的,若缓存的权限列表数据中不存在访问请求地址,则终端按照目标用户令牌和租户标识值生成操作日志信息,并将操作日志信息更新至内存数据库中;终端按照预设模板生成警示信息,通过预设提示框对警示信息进行显示,警示信息用于指示微服务访问请求受限。
进一步地,终端按照时刻倒序展示操作日志信息,以使得目标人员按照实际需求获取微服务访问的过程信息。
207、若缓存的权限列表数据中存在访问请求地址,则基于租户标识值确定目标微服务集群,按照访问请求地址对目标微服务集群中的目标***微服务进行访问,得到访问结果。
可以理解的是,预设微服务网关直接透传目标权限管理服务对终端中元素的控制列表,再由终端中超文本标记语言H5页面进行权限判断。终端中元素预先设置有唯一编号。而在目标权限管理服务中对应的租户下对应的***微服务中新建权限资源关联该唯一编号,并对权限资源进行角色赋权。终端将查询到的当前用户的具有权限资源列表返给终端,终端根据资源列表进行权限控制。
可选的,若缓存的权限列表数据中存在访问请求地址,则终端基于租户标识值查询预设数据表,得到目标微服务集群,目标微服务集群用于指示***微服务所属容器的列表数据;终端获取随机数(例如,random()),并按照随机数对***微服务所属容器数量进行取余,得到目标余数;终端将目标余数设置为***微服务所属容器的索引,按照访问请求地址和***微服务所属容器的索引对目标微服务集群中的目标***微服务进行服务调用,得到访问结果,访问结果包括访问成功和访问失败。例如,随机数为69,***微服务所属容器数量为10,则***微服务所属容器的索引(目标余数)为9,服务器对索引为9的目标***微服务进行访问,得到访问结果。
本发明实施例中,通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌;在用户令牌过期后按照新的用户令牌向目标权限管理服务获取并缓存目标用户权限列表;在过期时刻内基于租户标识值确定目标微服务集群,按照访问请求地址对目标微服务集群中的***微服务进行访问,提高了微服务集群的权限验证效率和微服务访问准确率。
上面对本发明实施例中微服务访问方法进行了描述,下面对本发明实施例中微服务访问装置进行描述,请参阅图3,本发明实施例中微服务访问装置的一个实施例包括:
拦截模块301,用于通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌,预设微服务网关为基于预设路由过滤对象实现的请求***;
判断模块302,用于获取当前时刻和目标用户令牌的过期时刻,并判断过期时刻是否大于当前时刻;
写入模块303,若过期时刻小于或者等于当前时刻,则用于获取新的用户令牌,按照新的用户令牌向目标权限管理服务发送权限获取请求,得到目标用户权限列表,并根据新的用户令牌将目标用户权限列表写入至内存数据库中的会话信息,目标权限管理服务用于指示对多个租户进行微服务授权操作;
查询模块304,若过期时刻大于当前时刻,则用于根据目标用户令牌查询内存数据库中的会话信息,得到租户标识值和缓存的权限列表数据,判断缓存的权限列表数据中是否存在访问请求地址;
处理模块305,若缓存的权限列表数据中不存在访问请求地址,则用于按照目标用户令牌和租户标识值生成操作日志信息,获取并展示警示信息,警示信息用于指示微服务访问请求受限;
访问模块306,若缓存的权限列表数据中存在访问请求地址,则用于基于租户标识值确定目标微服务集群,按照访问请求地址对目标微服务集群中的目标***微服务进行访问,得到访问结果。
进一步地,将访问请求地址存储于区块链数据库中,具体此处不做限定。
本发明实施例中,通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌;在用户令牌过期后按照新的用户令牌向目标权限管理服务获取并缓存目标用户权限列表;在过期时刻内基于租户标识值确定目标微服务集群,按照访问请求地址对目标微服务集群中的***微服务进行访问,提高了微服务集群的权限验证效率和微服务访问准确率。
请参阅图4,本发明实施例中微服务访问装置的另一个实施例包括:
拦截模块301,用于通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌,预设微服务网关为基于预设路由过滤对象实现的请求***;
判断模块302,用于获取当前时刻和目标用户令牌的过期时刻,并判断过期时刻是否大于当前时刻;
写入模块303,若过期时刻小于或者等于当前时刻,则用于获取新的用户令牌,按照新的用户令牌向目标权限管理服务发送权限获取请求,得到目标用户权限列表,并根据新的用户令牌将目标用户权限列表写入至内存数据库中的会话信息,目标权限管理服务用于指示对多个租户进行微服务授权操作;
查询模块304,若过期时刻大于当前时刻,则用于根据目标用户令牌查询内存数据库中的会话信息,得到租户标识值和缓存的权限列表数据,判断缓存的权限列表数据中是否存在访问请求地址;
处理模块305,若缓存的权限列表数据中不存在访问请求地址,则用于按照目标用户令牌和租户标识值生成操作日志信息,获取并展示警示信息,警示信息用于指示微服务访问请求受限;
访问模块306,若缓存的权限列表数据中存在访问请求地址,则用于基于租户标识值确定目标微服务集群,按照访问请求地址对目标微服务集群中的目标***微服务进行访问,得到访问结果。
可选的,拦截模块301还可以具体用于:
接收微服务访问请求,通过预设微服务网关拦截并解析微服务访问请求,得到请求头信息,预设微服务网关为基于预设路由过滤对象zuulfilter实现的请求***;
按照预设参数名从请求头信息中读取访问请求地址和目标用户令牌,目标用户令牌为用户成功登录微服务时设置的字符串。
可选的,写入模块303还可以具体用于:
若过期时刻小于或者等于当前时刻,则调用预设登录页面引导用户重新登录,得到登录结果;
当登录结果为预设值时,确定用户登录成功,并获取新的用户令牌和用户的会话信息,将新的用户令牌和用户的会话信息关联映射并存储至内存数据库中;
按照新的用户令牌从用户的会话信息中获取用户唯一标识和租户标识值,并基于用户唯一标识和租户标识值向目标权限管理服务发送权限获取请求,以使得目标权限管理服务按照用户唯一标识和租户标识值查找并返回目标用户权限列表,目标权限管理服务用于指示对多个租户进行微服务授权操作;
接收目标用户权限列表,基于新的用户令牌将目标用户权限列表更新至内存数据库中的会话信息,得到更新结果,并根据更新结果确定是否发送微服务访问请求。
可选的,查询模块304还可以具体用于:
若过期时刻大于当前时刻,则将目标用户令牌设置为目标键,按照目标键查询内存数据库中的会话信息,得到目标值,会话信息为用户首次登录时调用预设权限服务获取的用户权限列表数据;
当目标值不为空值时,从目标值中获取租户标识值和缓存的权限列表数据;
调用预设查找函数按照访问请求地址检索缓存的权限列表数据,得到检索结果;
若检索结果不为预设目标值,则确定缓存的权限列表数据中不存在访问请求地址,生成提示信息,提示信息用于指示微服务访问请求存在异常;
若检索结果为预设目标值,则确定缓存的权限列表数据中存在访问请求地址。
可选的,处理模块305还可以具体用于:
若缓存的权限列表数据中不存在访问请求地址,则按照目标用户令牌和租户标识值生成操作日志信息,并将操作日志信息更新至内存数据库中;
按照预设模板生成警示信息,通过预设提示框对警示信息进行显示,警示信息用于指示微服务访问请求受限。
可选的,访问模块306还可以具体用于:
若缓存的权限列表数据中存在访问请求地址,则基于租户标识值查询预设数据表,得到目标微服务集群,目标微服务集群用于指示***微服务所属容器的列表数据;
获取随机数,并按照随机数对***微服务所属容器数量进行取余,得到目标余数;
将目标余数设置为***微服务所属容器的索引,按照访问请求地址和***微服务所属容器的索引对目标微服务集群中的目标***微服务进行服务调用,得到访问结果,访问结果包括访问成功和访问失败。
可选的,微服务访问装置还包括:
配置模块307,用于通过目标权限管理服务新增租户,并对租户配置对应的租户信息;
导入模块308,用于获取包含多个用户信息的配置文件,并将配置文件导入至目标权限管理服务中,以使得多个用户信息分别与租户进行关联绑定;
新增模块309,用于对租户新增至少一个***微服务,对每个***微服务新建资源项信息,资源项信息包括菜单资源和界面按钮;
分配模块310,用于对租户创建角色树,对角色树中的每个角色设置资源项信息,并将角色树中的角色数据分配至与租户关联绑定的多个用户。
本发明实施例中,通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌;在用户令牌过期后按照新的用户令牌向目标权限管理服务获取并缓存目标用户权限列表;在过期时刻内基于租户标识值确定目标微服务集群,按照访问请求地址对目标微服务集群中的***微服务进行访问,提高了微服务集群的权限验证效率和微服务访问准确率。
上面图3和图4从模块化的角度对本发明实施例中的微服务访问装置进行详细描述,下面从硬件处理的角度对本发明实施例中微服务访问设备进行详细描述。
图5是本发明实施例提供的一种微服务访问设备的结构示意图,该微服务访问设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对微服务访问设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在微服务访问设备500上执行存储介质530中的一系列指令操作。
微服务访问设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作***531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的微服务访问设备结构并不构成对微服务访问设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述微服务访问方法的步骤。
本发明还提供一种微服务访问设备,所述微服务访问设备包括存储器和处理器,存储器中存储有指令,所述指令被处理器执行时,使得处理器执行上述各实施例中的所述微服务访问方法的步骤。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种微服务访问方法,其特征在于,所述微服务访问方法包括:
通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌,所述预设微服务网关为基于预设路由过滤对象实现的请求***;
获取当前时刻和目标用户令牌的过期时刻,并判断所述过期时刻是否大于所述当前时刻;
若所述过期时刻小于或者等于所述当前时刻,则获取新的用户令牌,按照所述新的用户令牌向目标权限管理服务发送权限获取请求,得到目标用户权限列表,并根据所述新的用户令牌将所述目标用户权限列表写入至内存数据库中的会话信息,所述目标权限管理服务用于指示对多个租户进行微服务授权操作;
若所述过期时刻大于所述当前时刻,则根据所述目标用户令牌查询内存数据库中的会话信息,得到租户标识值和缓存的权限列表数据,判断所述缓存的权限列表数据中是否存在所述访问请求地址;
若所述缓存的权限列表数据中不存在所述访问请求地址,则按照所述目标用户令牌和所述租户标识值生成操作日志信息,获取并展示警示信息,所述警示信息用于指示微服务访问请求受限;
若所述缓存的权限列表数据中存在所述访问请求地址,则基于所述租户标识值确定目标微服务集群,按照所述访问请求地址对所述目标微服务集群中的目标***微服务进行访问,得到访问结果。
2.根据权利要求1所述的微服务访问方法,其特征在于,所述通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌,所述预设微服务网关为基于预设路由过滤对象实现的请求***,包括:
接收微服务访问请求,通过预设微服务网关拦截并解析所述微服务访问请求,得到请求头信息,所述预设微服务网关为基于预设路由过滤对象zuulfilter实现的请求***;
按照预设参数名从所述请求头信息中读取访问请求地址和目标用户令牌,所述目标用户令牌为用户成功登录微服务时设置的字符串。
3.根据权利要求1所述的微服务访问方法,其特征在于,所述若所述过期时刻小于或者等于所述当前时刻,则获取新的用户令牌,按照所述新的用户令牌向目标权限管理服务发送权限获取请求,得到目标用户权限列表,并根据所述新的用户令牌将所述目标用户权限列表写入至内存数据库中的会话信息,所述目标权限管理服务用于指示对多个租户进行微服务授权操作,包括:
若所述过期时刻小于或者等于所述当前时刻,则调用预设登录页面引导用户重新登录,得到登录结果;
当所述登录结果为预设值时,确定用户登录成功,并获取新的用户令牌和用户的会话信息,将所述新的用户令牌和所述用户的会话信息关联映射并存储至内存数据库中;
按照所述新的用户令牌从所述用户的会话信息中获取用户唯一标识和租户标识值,并基于所述用户唯一标识和所述租户标识值向目标权限管理服务发送权限获取请求,以使得所述目标权限管理服务按照所述用户唯一标识和所述租户标识值查找并返回目标用户权限列表,所述目标权限管理服务用于指示对多个租户进行微服务授权操作;
接收所述目标用户权限列表,基于所述新的用户令牌将所述目标用户权限列表更新至所述内存数据库中的会话信息,得到更新结果,并根据所述更新结果确定是否发送所述微服务访问请求。
4.根据权利要求1所述的微服务访问方法,其特征在于,所述若所述过期时刻大于所述当前时刻,则根据所述目标用户令牌查询内存数据库中的会话信息,得到租户标识值和缓存的权限列表数据,判断所述缓存的权限列表数据中是否存在所述访问请求地址,包括:
若所述过期时刻大于所述当前时刻,则将所述目标用户令牌设置为目标键,按照所述目标键查询内存数据库中的会话信息,得到目标值,所述会话信息为用户首次登录时调用预设权限服务获取的用户权限列表数据;
当所述目标值不为空值时,从所述目标值中获取租户标识值和缓存的权限列表数据;
调用预设查找函数按照所述访问请求地址检索所述缓存的权限列表数据,得到检索结果;
若所述检索结果不为预设目标值,则确定所述缓存的权限列表数据中不存在所述访问请求地址,生成提示信息,所述提示信息用于指示所述微服务访问请求存在异常;
若所述检索结果为预设目标值,则确定所述缓存的权限列表数据中存在所述访问请求地址。
5.根据权利要求1所述的微服务访问方法,其特征在于,所述若所述缓存的权限列表数据中不存在所述访问请求地址,则按照所述目标用户令牌和所述租户标识值生成操作日志信息,获取并展示警示信息,所述警示信息用于指示微服务访问请求受限,包括:
若所述缓存的权限列表数据中不存在所述访问请求地址,则按照所述目标用户令牌和所述租户标识值生成操作日志信息,并将所述操作日志信息更新至所述内存数据库中;
按照预设模板生成警示信息,通过预设提示框对所述警示信息进行显示,所述警示信息用于指示微服务访问请求受限。
6.根据权利要求1所述的微服务访问方法,其特征在于,所述若所述缓存的权限列表数据中存在所述访问请求地址,则基于所述租户标识值确定目标微服务集群,按照所述访问请求地址对所述目标微服务集群中的目标***微服务进行访问,得到访问结果,包括:
若所述缓存的权限列表数据中存在所述访问请求地址,则基于所述租户标识值查询预设数据表,得到目标微服务集群,所述目标微服务集群用于指示***微服务所属容器的列表数据;
获取随机数,并按照所述随机数对***微服务所属容器数量进行取余,得到目标余数;
将所述目标余数设置为***微服务所属容器的索引,按照所述访问请求地址和所述***微服务所属容器的索引对所述目标微服务集群中的目标***微服务进行服务调用,得到访问结果,所述访问结果包括访问成功和访问失败。
7.根据权利要求1-6中任意一项所述的微服务访问方法,其特征在于,在所述通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌,所述预设微服务网关为基于预设路由过滤对象实现的请求***之前,所述微服务访问方法还包括:
通过所述目标权限管理服务新增租户,并对所述租户配置对应的租户信息;
获取包含多个用户信息的配置文件,并将所述配置文件导入至所述目标权限管理服务中,以使得多个用户信息分别与所述租户进行关联绑定;
对所述租户新增至少一个***微服务,对每个***微服务新建资源项信息,所述资源项信息包括菜单资源和界面按钮;
对所述租户创建角色树,对所述角色树中的每个角色设置所述资源项信息,并将所述角色树中的角色数据分配至与所述租户关联绑定的多个用户。
8.一种微服务访问装置,其特征在于,所述微服务访问装置包括:
拦截模块,用于通过预设微服务网关拦截微服务访问请求,得到访问请求地址和目标用户令牌,所述预设微服务网关为基于预设路由过滤对象实现的请求***;
判断模块,用于获取当前时刻和目标用户令牌的过期时刻,并判断所述过期时刻是否大于所述当前时刻;
写入模块,若所述过期时刻小于或者等于所述当前时刻,则用于获取新的用户令牌,按照所述新的用户令牌向目标权限管理服务发送权限获取请求,得到目标用户权限列表,并根据所述新的用户令牌将所述目标用户权限列表写入至内存数据库中的会话信息,所述目标权限管理服务用于指示对多个租户进行微服务授权操作;
查询模块,若所述过期时刻大于所述当前时刻,则用于根据所述目标用户令牌查询内存数据库中的会话信息,得到租户标识值和缓存的权限列表数据,判断所述缓存的权限列表数据中是否存在所述访问请求地址;
处理模块,若所述缓存的权限列表数据中不存在所述访问请求地址,则用于按照所述目标用户令牌和所述租户标识值生成操作日志信息,获取并展示警示信息,所述警示信息用于指示微服务访问请求受限;
访问模块,若所述缓存的权限列表数据中存在所述访问请求地址,则用于基于所述租户标识值确定目标微服务集群,按照所述访问请求地址对所述目标微服务集群中的目标***微服务进行访问,得到访问结果。
9.一种微服务访问设备,其特征在于,所述微服务访问设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述微服务访问设备执行如权利要求1-7中任意一项所述的微服务访问方法。
10.一种计算机可读存储介质,其上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-7中任意一项所述的微服务访问方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011476001.5A CN112615849B (zh) | 2020-12-15 | 2020-12-15 | 微服务访问方法、装置、设备及存储介质 |
PCT/CN2021/090256 WO2022126968A1 (zh) | 2020-12-15 | 2021-04-27 | 微服务访问方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011476001.5A CN112615849B (zh) | 2020-12-15 | 2020-12-15 | 微服务访问方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112615849A CN112615849A (zh) | 2021-04-06 |
CN112615849B true CN112615849B (zh) | 2022-04-26 |
Family
ID=75234141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011476001.5A Active CN112615849B (zh) | 2020-12-15 | 2020-12-15 | 微服务访问方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112615849B (zh) |
WO (1) | WO2022126968A1 (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113139169A (zh) * | 2021-04-23 | 2021-07-20 | 上海中通吉网络技术有限公司 | 非侵入式权限控制*** |
CN113239060B (zh) * | 2021-05-31 | 2023-09-29 | 康键信息技术(深圳)有限公司 | 数据资源分配处理方法、装置、设备及存储介质 |
CN113420327A (zh) * | 2021-06-23 | 2021-09-21 | 平安国际智慧城市科技股份有限公司 | 数据权限控制方法、***、电子设备及存储介质 |
CN113343150A (zh) * | 2021-06-24 | 2021-09-03 | 平安普惠企业管理有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113568762B (zh) * | 2021-07-19 | 2024-06-11 | 远光软件股份有限公司 | 一种跨***访问的方法及其设备和计算机可读存储介质 |
CN113626220A (zh) * | 2021-08-06 | 2021-11-09 | 北京金山云网络技术有限公司 | 微服务控制方法及*** |
CN113765676B (zh) * | 2021-09-18 | 2024-05-24 | 平安国际智慧城市科技股份有限公司 | 基于用户多身份的接口访问控制方法及相关设备 |
CN114430423A (zh) * | 2022-01-26 | 2022-05-03 | 百果园技术(新加坡)有限公司 | 一种终端间的通讯管理方法、装置、设备及存储介质 |
CN114513349A (zh) * | 2022-01-29 | 2022-05-17 | 中国人民财产保险股份有限公司 | 确定微服务请求方来源的方法及装置 |
CN114666094B (zh) * | 2022-02-17 | 2023-10-20 | 岚图汽车科技有限公司 | 一种车辆服务平台的用户权限管理方法及相关设备 |
CN114756877A (zh) * | 2022-04-06 | 2022-07-15 | 北京有竹居网络技术有限公司 | 一种数据管理方法、装置、服务器和存储介质 |
CN114826724B (zh) * | 2022-04-20 | 2024-04-09 | 网易(杭州)网络有限公司 | 数据处理方法、装置、电子设备和存储介质 |
CN115277128B (zh) * | 2022-07-13 | 2024-02-23 | 上海砾阳软件有限公司 | 一种非法请求的处理方法、装置及电子设备 |
CN115022088A (zh) * | 2022-07-21 | 2022-09-06 | 中国建设银行股份有限公司 | 政务网关*** |
CN115118703B (zh) * | 2022-07-28 | 2024-03-08 | 中国工商银行股份有限公司 | 服务调用方法及装置、电子设备 |
CN115002211B (zh) * | 2022-07-28 | 2022-12-06 | 成都乐超人科技有限公司 | 基于云原生的售后微服务实现方法、装置、设备及介质 |
CN115174688B (zh) * | 2022-07-29 | 2024-07-19 | 中国工商银行股份有限公司 | 基于微服务***的服务调用方法及装置、存储介质 |
CN115277234B (zh) * | 2022-08-01 | 2024-01-09 | 重庆标能瑞源储能技术研究院有限公司 | 一种基于物联网平台微服务的安全认证方法及*** |
CN115242613B (zh) * | 2022-08-03 | 2024-03-15 | 浙江网商银行股份有限公司 | 目标节点确定方法以及装置 |
CN115567254A (zh) * | 2022-09-06 | 2023-01-03 | 浪潮软件股份有限公司 | 一种基于计算模型实现公共数据对外开放的方法及*** |
CN115481386B (zh) * | 2022-09-15 | 2023-05-30 | 中航信移动科技有限公司 | 一种目标应用使用权限的批量配置*** |
CN115495718B (zh) * | 2022-09-19 | 2023-10-13 | 广东云徙智能科技有限公司 | 一种基于前端声明的后端能力授权方法、装置及设备 |
CN115604358A (zh) * | 2022-09-21 | 2023-01-13 | 网易(杭州)网络有限公司(Cn) | 业务处理方法、***、装置、管理服务器及存储介质 |
CN115344620B (zh) * | 2022-10-19 | 2023-01-06 | 成都中科合迅科技有限公司 | 自定义数据池实现前后端分离后数据按需同步方法 |
CN116319809B (zh) * | 2022-12-27 | 2023-12-29 | 昆仑数智科技有限责任公司 | 数据操作的方法和*** |
CN115828309B (zh) * | 2023-02-09 | 2023-11-07 | 中国证券登记结算有限责任公司 | 一种服务调用方法及*** |
CN115801476B (zh) * | 2023-02-09 | 2023-05-05 | 中国证券登记结算有限责任公司 | 一种应用请求的验证方法和装置 |
CN116049860B (zh) * | 2023-03-06 | 2023-06-02 | 深圳前海环融联易信息科技服务有限公司 | 访问控制方法、装置、计算机设备及存储介质 |
CN116069264B (zh) * | 2023-03-13 | 2023-06-13 | 南京飓风引擎信息技术有限公司 | 一种应用程序数据信息存储控制*** |
CN116401231B (zh) * | 2023-03-20 | 2024-04-26 | 一临云(深圳)科技有限公司 | 数据源管理方法、设备及存储介质 |
CN116319090B (zh) * | 2023-05-18 | 2023-08-11 | 中国电子信息产业集团有限公司第六研究所 | 一种基于微服务的动力与环境监控***及方法 |
CN116980182B (zh) * | 2023-06-21 | 2024-02-27 | 杭州明实科技有限公司 | 异常请求检测方法、装置和电子设备 |
CN116743702B (zh) * | 2023-08-16 | 2024-02-27 | 湖南映客互娱网络信息有限公司 | 一种SaaS***的统一域名访问方法、装置及设备 |
CN117375901B (zh) * | 2023-09-30 | 2024-05-17 | 上海复通软件技术有限公司 | 一种跨租户多终端鉴权方法及*** |
CN117668920B (zh) * | 2024-02-02 | 2024-05-03 | 杭州高特电子设备股份有限公司 | 基于内部储能***的安全访问方法及***、设备及介质 |
CN118174960A (zh) * | 2024-05-10 | 2024-06-11 | 华能信息技术有限公司 | 一种微服务架构的用户操作审计方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483538A (zh) * | 2017-07-06 | 2017-12-15 | 聚好看科技股份有限公司 | 一种在微服务集群的节点上处理访问请求包的方法和装置 |
CN110120946A (zh) * | 2019-04-29 | 2019-08-13 | 武汉理工大学 | 一种Web与微服务的统一认证***及方法 |
CN111431970A (zh) * | 2020-02-29 | 2020-07-17 | 深圳壹账通智能科技有限公司 | 基于微服务架构的资源分配方法、装置、设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10484382B2 (en) * | 2016-08-31 | 2019-11-19 | Oracle International Corporation | Data management for a multi-tenant identity cloud service |
US10846390B2 (en) * | 2016-09-14 | 2020-11-24 | Oracle International Corporation | Single sign-on functionality for a multi-tenant identity and data security management cloud service |
US10931656B2 (en) * | 2018-03-27 | 2021-02-23 | Oracle International Corporation | Cross-region trust for a multi-tenant identity cloud service |
CN110601832A (zh) * | 2019-09-27 | 2019-12-20 | 中煤航测遥感集团有限公司 | 一种数据访问方法及装置 |
CN110781476A (zh) * | 2019-10-15 | 2020-02-11 | 南京南瑞信息通信科技有限公司 | 一种柔性微服务安全访问控制方法及*** |
CN111355743B (zh) * | 2020-03-11 | 2021-07-06 | 成都卓杭网络科技股份有限公司 | 一种基于api网关的管理方法及其*** |
CN112039909B (zh) * | 2020-09-03 | 2022-07-12 | 平安科技(深圳)有限公司 | 基于统一网关的认证鉴权方法、装置、设备及存储介质 |
-
2020
- 2020-12-15 CN CN202011476001.5A patent/CN112615849B/zh active Active
-
2021
- 2021-04-27 WO PCT/CN2021/090256 patent/WO2022126968A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483538A (zh) * | 2017-07-06 | 2017-12-15 | 聚好看科技股份有限公司 | 一种在微服务集群的节点上处理访问请求包的方法和装置 |
CN110120946A (zh) * | 2019-04-29 | 2019-08-13 | 武汉理工大学 | 一种Web与微服务的统一认证***及方法 |
CN111431970A (zh) * | 2020-02-29 | 2020-07-17 | 深圳壹账通智能科技有限公司 | 基于微服务架构的资源分配方法、装置、设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
Design and Development of Backend Application for Public Complaint Systems Using Microservice Spring Boot;HatmaSuryotrisongko etal.;《Procedia Computer Science》;20171130;第124卷;全文 * |
微服务环境下访问控制技术的研究与应用;何修宇;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20181115(第11期);第3章 * |
柔性微服务安全访问控制框架;刘一田等;《计算机***应用》;20181015(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2022126968A1 (zh) | 2022-06-23 |
CN112615849A (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112615849B (zh) | 微服务访问方法、装置、设备及存储介质 | |
CN106874461B (zh) | 一种工作流引擎支持多数据源配置安全访问***及方法 | |
JP7222036B2 (ja) | モデルトレーニングシステムおよび方法および記憶媒体 | |
EP2548138B1 (en) | Computer relational database method and system having role based access control | |
US8291096B2 (en) | Central adminstration of one or more resources | |
CN104937895B (zh) | 在无线通信***中控制访问的方法和设备 | |
CN111709046A (zh) | 用户权限数据配置方法、装置、设备及存储介质 | |
CN101729541B (zh) | 多业务平台的资源访问方法及*** | |
CN113127199B (zh) | 负载均衡配置方法、装置、设备及存储介质 | |
CN112231168A (zh) | 微服务器管控方法、装置、设备及存储介质 | |
CN111506589B (zh) | 基于联盟链的区块链数据服务***、访问方法及存储介质 | |
CN113392415A (zh) | 数据仓库的访问控制方法、***和电子设备 | |
CN112307444A (zh) | 角色创建方法、装置、计算机设备及存储介质 | |
EP1280060A2 (en) | A system for managing a computer network | |
CN113849789A (zh) | 基于aop的权限校验方法、装置、设备及存储介质 | |
CN111241504B (zh) | 身份验证方法、装置、电子设备及存储介质 | |
CN101325493B (zh) | 用于认证用户的方法和*** | |
US7080403B2 (en) | Method and system for person data authentication and management | |
JP3951638B2 (ja) | 認証アプリケーションサービスシステム | |
Song et al. | Smart contract-based trusted content retrieval mechanism for NDN | |
CN107491360B (zh) | 对数据表中记录进行分级别冗余存储的方法 | |
CN107491361B (zh) | 对数据表中列进行分级别冗余存储的方法 | |
US20190319959A1 (en) | Novel Technology for Securing Access to an Enterprise Information System Through a Natural Language Interface | |
CN115391820A (zh) | 基于区块链的请求数据的处理方法和装置 | |
CN116974708A (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 |