CN111030828A - 微服务架构下的权限控制方法、系统和访问令牌 - Google Patents

微服务架构下的权限控制方法、系统和访问令牌 Download PDF

Info

Publication number
CN111030828A
CN111030828A CN201911316871.3A CN201911316871A CN111030828A CN 111030828 A CN111030828 A CN 111030828A CN 201911316871 A CN201911316871 A CN 201911316871A CN 111030828 A CN111030828 A CN 111030828A
Authority
CN
China
Prior art keywords
authority
information
token
fragment
access token
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.)
Granted
Application number
CN201911316871.3A
Other languages
English (en)
Other versions
CN111030828B (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.)
Zhejiang East China Engineering Digital Technology Co ltd
PowerChina Huadong Engineering Corp Ltd
Original Assignee
Zhejiang East China Engineering Digital Technology Co ltd
PowerChina Huadong Engineering Corp 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 Zhejiang East China Engineering Digital Technology Co ltd, PowerChina Huadong Engineering Corp Ltd filed Critical Zhejiang East China Engineering Digital Technology Co ltd
Priority to CN201911316871.3A priority Critical patent/CN111030828B/zh
Publication of CN111030828A publication Critical patent/CN111030828A/zh
Application granted granted Critical
Publication of CN111030828B publication Critical patent/CN111030828B/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种微服务架构下的权限控制方法、系统和访问令牌,以解决微服务架构中各资源服务频繁请求认证服务和认证服务频繁查询数据库以获取当前用户权限信息带来的效率低下的问题。本发明的技术方案是:客户端获取认证服务器返回的包含权限比特流的访问令牌;权限比特流为固定位数的二进制串,该二进制串位数根据系统权限数量确定,二进制串中的各个比特位与系统中的权限一一对应,比特位的值代表相应权限的状态;客户端携带访问令牌向API网关发送资源请求;API网关对访问令牌进行安全认证,并在认证通过后将资源请求转发到相应微服务,转发时携带访问令牌;微服务根据访问令牌中权限比特流上与所请求资源对应的比特位的值验证权限。

Description

微服务架构下的权限控制方法、系统和访问令牌
技术领域
本发明涉及一种微服务架构下的权限控制方法、系统和访问令牌。适用于微服务技术领域。
背景技术
近年来互联网行业快速发展,互联网应用的规模迅速扩大,同时单个应用的开发人员也大大增加,传统单体架构因耦合度高、难以维护和快速部署等原因逐渐被微服务架构所替代。微服务架构的原理是将系统拆分为多个可以独立开发、设计、运行和运维的服务,服务之间通过应用程序编程接口(Application Programming Interface,API)调用,每个服务可以独立部署并且相互隔离,同时可以根据服务提供的功能选择最优的编程语言,数据库等不同的技术栈,提高系统的可扩展性和可维护性,更好的支持持续集成和持续交付。
由于微服务具有以上优势,而且能更加适应云环境的特点,越来越多的公司开始尝试原有单体架构系统重构。微服务架构中通常需要一个独立的认证服务来提供认证功能,保护原有的单体架构拆分出的所有微服务资源,并且可以认证请求来源的不同授予不同的资源访问权限,更好的保护微服务资源。
通常的做法是用户登录时客户端请求认证服务获取访问令牌,并在请求各服务资源时携带访问令牌。被请求服务拿到访问令牌后向认证服务获取该访问令牌对应的用户的权限信息,当用户有访问该资源的权限时响应用户请求,当用户无相应权限时返回请求无权限。该方式使得其他微服务需频繁访问认证服务以获取权限信息,如何减少其他服务对认证服务的依赖,降低各服务间的耦合度并减少数据库(包括缓存数据库)查询操作,提高系统整体效率是微服务架构认证鉴权体系的一个关键问题。
发明内容
本发明要解决的技术问题是:针对上述存在的问题,提供一种微服务架构下的权限控制方法、系统和访问令牌,以解决微服务架构中各资源服务频繁请求认证服务和认证服务频繁查询数据库以获取当前用户权限信息带来的效率低下的问题。
本发明所采用的技术方案是:一种微服务架构下的权限控制方法,其特征在于:
客户端获取认证服务器返回的包含权限比特流的访问令牌;权限比特流为固定位数的二进制串,该二进制串位数根据系统权限数量确定,二进制串中的各个比特位与系统中的权限一一对应,比特位的值代表相应权限的状态;
客户端携带访问令牌向API网关发送资源请求;
API网关对访问令牌进行安全认证,并在认证通过后将资源请求转发到相应微服务,转发时携带访问令牌;
微服务根据访问令牌中权限比特流上与所请求资源对应的比特位的值验证权限。
所述访问令牌具有N片令牌分片,N根据权限比特流位数确定;
所述令牌分片包括:
头部信息:存放访问令牌的类型和算法名称的JSON字符串;
基本信息:存放令牌过期时间、用户名、自定义信息的JSON字符串;
权限信息:存放分片比特流,该分片比特流由权限比特流拆分成N份后分别存入N片令牌分片中;
分片信息:存放访问令牌的分片数量N和当前分片序号的JSON字符串;
签名信息:存放头部信息、基本信息、权限信息和分片信息经过编码和非对称加密后得到的字符串,可用公钥解密验证头部信息、基本信息、权限信息和分片信息数据的有效性。
所述微服务的各个需要权限控制的接口带有自定义权限注解,该自定义权限注解中存储该接口资源所需权限对应比特位在权限比特流中的位置序号。
一种微服务架构下的权限控制系统,其特征在于,包括认证服务器、客户端、API网关和微服务;
所述认证服务器具有:
登录认证模块,用于认证客户端发送的登录请求;
令牌生成模块,用于在登录请求认证正确后生成包含权限比特流的访问令牌;权限比特流为固定位数的二进制串,该二进制串位数根据系统权限数量确定,二进制串中的各个比特位与系统中的权限一一对应,比特位的值代表相应权限的状态;
所述客户端具有:
登录请求模块,用于向认证服务器发送登录请求,并获取认证服务器返回的访问令牌;
资源请求模块,用于携带访问令牌向API网关发送资源请求;
所述API网关具有:
安全认证模块,用于对访问令牌进行安全认证;
转发模块,用于在认证通过后将资源请求转发到相应微服务,转发时携带访问令牌;
所述微服务具有:
权限验证模块,用于根据访问令牌中权限比特流上与所请求资源对应的比特位的值验证权限。
所述访问令牌具有N片令牌分片,N根据权限比特流位数确定;
所述令牌分片包括:
头部信息:存放访问令牌的类型和算法名称的JSON字符串;
基本信息:存放令牌过期时间、用户名、自定义信息的JSON字符串;
权限信息:存放分片比特流,该分片比特流由权限比特流拆分成N份后分别存入N片令牌分片中;
分片信息:存放访问令牌的分片数量N和当前分片序号的JSON字符串;
签名信息:存放头部信息、基本信息、权限信息和分片信息经过编码和非对称加密后得到的字符串,可用公钥解密验证头部信息、基本信息、权限信息和分片信息数据的有效性。
所述微服务的各个需要权限控制的接口带有自定义权限注解,该自定义权限注解中存储该接口资源所需权限对应比特位在权限比特流中的位置序号。
一种访问令牌,其特征在于:包含权限比特流,该权限比特流为固定位数的二进制串,该二进制串位数根据系统权限数量确定,二进制串中的各个比特位与系统中的权限一一对应,比特位的值代表相应权限的状态。
包括N片令牌分片,N根据权限比特流位数确定;
所述令牌分片包括:
头部信息:存放访问令牌的类型和算法名称的JSON字符串;
基本信息:存放令牌过期时间、用户名、自定义信息的JSON字符串;
权限信息:存放分片比特流,该分片比特流由权限比特流拆分成N份后分别存入N片令牌分片中;
分片信息:存放访问令牌的分片数量N和当前分片序号的JSON字符串;
签名信息:存放头部信息、基本信息、权限信息和分片信息经过编码和非对称加密后得到的字符串,可用公钥解密验证头部信息、基本信息、权限信息和分片信息数据的有效性。
根据权限表的权限比特流的位数确定访问令牌的分片数量N;
将加密方法名和令牌类型存入各个分片的头部信息部分;
将令牌过期时间、用户名、自定义信息存入第一个分片的基本信息部分;
将用户的权限比特流进行拆分成N份后分别存入各个令牌分片的权限信息部分;
将分片数量、当前分片的序号存入各个令牌分片的分片信息;
将各个令牌分片中头部信息、基本信息、权限信息和分片信息进行编码;
将各个令牌分片中头部信息、基本信息、权限信息和分片信息进行非对称加密后得到的字符串存入相应令牌分片的签名信息部分;
连接各个令牌分片中的头部信息、基本信息、权限信息、分片信息和签名信息,得到访问令牌的各个令牌分片。
所述用户的权限比特流采用以下方法得到:
从数据库中查询该用户拥有的所有角色和各个角色对应的权限比特流;
对该用户所有角色的权限比特流进行逻辑运算,得到用户的权限比特流。
本发明的有益效果是:本发明中用户的权限信息包含在可信任的访问令牌中,微服务或API网关无需在执行每个请求时均从认证服务获取用户的权限信息,减少微服务对认证服务的依赖,简化了微服务调用链路,减少微服务间通信的时间成本。本发明中用户的权限信息包含在可信任的访问令牌中,微服务或API网关处理每个请求时权限的获取无需进行数据库查询操作,降低请求处理时延,提高系统整体效率。本发明中使用二进制比特流编码并存储权限信息,实现以较少的字节数存储和传输权限信息。
附图说明
图1为实施例的流程图。
图2为实施例中客户端与服务端的交互示意图。
图3为实施例中访问令牌的格式示意图。
图4为实施例中生成访问令牌的流程图。
图5为实施例中数据库内的表单示意图。
图6为实施例中API网关安全认证的流程图。
图7为实施例中微服务根据访问令牌中的权限比特流验证权限的流程图。
具体实施方式
如图1、图2所示,本实施例为一种微服务架构下的权限控制方法,具体步骤如下:
S1、客户端向认证服务器发送登录请求。
S2、认证服务器接收到客户端发送的登录请求后验证用户名密码是否正确,若是则生成包含权限比特流的访问令牌并返回给客户端,若否则返回用户名或密码错误。
本例中权限比特流为固定位数的二进制串,该二进制串位数根据系统权限数量确定,二进制串中的各个比特位与系统中的权限一一对应,比特位的值代表相应权限的状态。
本实施例中访问令牌具有N片令牌分片,N根据权限比特流位数确定,如图3所述,令牌分片的格式采用自创的JBWT协议(JSON Bit Web TOKEN)格式,包括:
头部信息:存放访问令牌的类型和算法名称的JSON字符串;
基本信息:存放令牌过期时间、用户名、自定义信息的JSON字符串;
权限信息:存放分片比特流,该分片比特流由权限比特流拆分成N份后分别存入N片令牌分片中;
分片信息:存放访问令牌的分片数量N和当前分片序号的JSON字符串;
签名信息:存放头部信息、基本信息、权限信息和分片信息经过编码和非对称加密后得到的字符串,可用公钥解密验证头部信息、基本信息、权限信息和分片信息数据的有效性。
如图4所示,本实施例中根据JBWT协议生成访问令牌的具体方法如下:
S201、根据权限表的权限比特流的位数确定访问令牌的分片数量N,N的取值需保证单个令牌分片的长度不超过http请求头参数的最大长度限制。
S202、将加密方法名和令牌类型存入各个分片的头部信息部分。
S203、将令牌过期时间、用户名、自定义信息存入第一个分片的基本信息部分。
S204、从数据库中查询该用户拥有的所有角色和各个角色对应的权限比特流。数据库中具有权限表、角色表、用户表、用户角色表(见图5)。权限表中有权限编号、权限内容、该权限对应的权限比特流等字段;角色表中有角色编号、角色名称、该角色对应的权限比特流等字段;用户表中有用户编号和若干个用户信息字段;用户角色表中有用户角色编号、用户编号、角色编号等字段。
权限表中的权限比特流字段中,该权限对应的比特位为1,其余比特位为0。角色表中的权限比特流字段中,该角色拥有的权限对应的比特位为1,该角色没有的权限对应的比特位为0。当修改特定角色对应的权限时将更新该角色对应的权限比特流:增加权限时将其更新为该角色的权限比特流与该权限的权限比特流逻辑或运算的结果;移除权限时将其更新为该角色的权限比特流与该权限的权限比特流逻辑异或运算的结果。
S205、对该用户所有角色的权限比特流进行逻辑或运算,得到用户的权限比特流。
S206、将用户的权限比特流进行拆分后按顺序分别存入各个令牌分片的权限信息部分。
S207、将分片数量N、当前分片的序号存入各个令牌分片的分片信息。
S208、将各个令牌分片中头部信息、基本信息、权限信息和分片信息进行base64编码。
S209、将各个令牌分片中头部信息、基本信息、权限信息和分片信息进行非对称加密后得到的字符串存入相应令牌分片的签名信息部分。
S210、使用“.”连接各个令牌分片的头部信息、基本信息、权限信息、分片信息和签名信息,得到访问令牌的各个令牌分片。
S3、客户端获取认证服务器返回的包含权限比特流的访问令牌。
S4、客户端携带访问令牌的所有令牌分片向API网关发送资源请求。
S5、如图6所示,API网关对访问令牌进行安全认证,并在认证通过后根据路由规则将资源请求转发到相应微服务,转发时携带访问令牌。
S501、API网关接收到携带访问令牌的资源请求。
S502、API网关使用公钥和访问令牌中的签名信息验证访问令牌是否伪造,若是,则转S503;若否,则转S504。
在此步骤中,验证方法为:使用公钥和访问令牌头部信息中的算法对签名信息进行解密,若解密后得到的明文与头部信息、基本信息、权限信息、分片信息的内容一致,则确认令牌由认证服务签发,若不一致,则为伪造令牌。
S503、拒绝请求,返回访问令牌无效。
S504、API网关验证访问令牌是否过期,若是,则转S505;若否,则转S506。
在此步骤中,验证方法为:取出访问令牌基本信息中的过期时间与当前时间进行对比,若过期时间晚于当前时间,则令牌未过期,若过期时间早于或等于当前时间,则令牌过期。
S505、拒绝请求,返回访问令牌过期。
S506、API网关验证用户是否已注销登录,若是,则转S507;若否,则转S508。
在此步骤中,验证方法为:将该访问令牌作为key查询内存数据库已注销用户访问令牌集合,若结果不为空,则用户已注销登录,若结果为空,则用户未注销登录。
S507、拒绝请求,返回用户已注销。
S508、API网关验证用户权限是否已更改,若是,则转S509;若否,则转S510。
在此步骤中,验证方法为:将该访问令牌作为key查询内存数据库权限已更改用户访问令牌集合,若结果不为空,则用户权限已更改,若结果为空,则用户权限未更改。
S509、拒绝请求,返回新的访问令牌。
在此步骤中,API网关请求认证服务器生成携带最新权限信息的访问令牌并返回给客户端。
S510、API网关将请求转发到相应微服务。
在此步骤中,API网关根据路由规则将资源请求转发到相应微服务,转发时携带请求头中的访问令牌等参数。
S6、如图7所述,微服务根据访问令牌中权限比特流上与所请求资源对应的比特位的值验证权限。
S601、微服务接收到API网关转发的资源请求和访问令牌。
S602、若该资源请求对应的接口资源带有自定义权限注解,则转步骤S604,若不带有自定义权限注解,则转步骤S603。
微服务的各个需要权限控制的接口需带有自定义权限注解,该自定义权限注解中存储该接口资源所需权限对应比特位在权限比特流中的位置序号。
S603、响应请求结果。
S604、权限验证切面类拦截该请求。
在此步骤中,权限验证切面类拦截该请求后,执行的后续操作均在权限验证切面类中已定义。
S605、从请求头中取出访问令牌。
S606、将访问令牌的各令牌分片中的权限信息部分进行base64解码并按分片序号拼接得到权限比特流。
S607、从自定义权限注解携带的信息中获取当前资源所需权限对应的比特位在权限比特流中的位置序号。
S608、取出权限比特流对应比特位的值X。
在此步骤中,在自定义权限注解中存储的是当前资源所需权限对应的比特位在权限比特流中的序号,若序号为n,则取出权限比特流从左往右数第n位的值。
S609、判断X是否为1,若是,则转S610;若否,则转S611。
S610、响应请求结果。
S611、拒绝请求,返回无访问权限。
本实施例还提供一种微服务架构下的权限控制系统,包括认证服务器、客户端、API网关和微服务。
本例中认证服务器具有登录认证模块和令牌生成模块,其中登录认证模块用于认证客户端发送的登录请求;令牌生成模块用于在登录请求认证正确后生成包含权限比特流的访问令牌。权限比特流为固定位数的二进制串,该二进制串位数根据系统权限数量确定,二进制串中的各个比特位与系统中的权限一一对应,比特位的值代表相应权限的状态。
本实施例中客户端具有登录请求模块和资源请求模块,其中登录请求模块用于向认证服务器发送登录请求,并获取认证服务器返回的访问令牌;资源请求模块用于携带访问令牌向API网关发送资源请求。
本例中API网关具有安全认证模块和转发模块,其中安全认证模块用于对访问令牌进行安全认证;转发模块用于在认证通过后将资源请求转发到相应微服务,转发时携带访问令牌。
本实施例中微服务具有权限验证模块,用于根据访问令牌中权限比特流上与所请求资源对应的比特位的值验证权限。

Claims (10)

1.一种微服务架构下的权限控制方法,其特征在于:
客户端获取认证服务器返回的包含权限比特流的访问令牌;权限比特流为固定位数的二进制串,该二进制串位数根据系统权限数量确定,二进制串中的各个比特位与系统中的权限一一对应,比特位的值代表相应权限的状态;
客户端携带访问令牌向API网关发送资源请求;
API网关对访问令牌进行安全认证,并在认证通过后将资源请求转发到相应微服务,转发时携带访问令牌;
微服务根据访问令牌中权限比特流上与所请求资源对应的比特位的值验证权限。
2.根据权利要求1所述的微服务架构下的权限控制方法,其特征在于:所述访问令牌具有N片令牌分片,N根据权限比特流位数确定;
所述令牌分片包括:
头部信息:存放访问令牌的类型和算法名称的JSON字符串;
基本信息:存放令牌过期时间、用户名、自定义信息的JSON字符串;
权限信息:存放分片比特流,该分片比特流由权限比特流拆分成N份后分别存入N片令牌分片中;
分片信息:存放访问令牌的分片数量N和当前分片序号的JSON字符串;
签名信息:存放头部信息、基本信息、权限信息和分片信息经过编码和非对称加密后得到的字符串,可用公钥解密验证头部信息、基本信息、权限信息和分片信息数据的有效性。
3.根据权利要求1或2所述的微服务架构下的权限控制方法,其特征在于:所述微服务的各个需要权限控制的接口带有自定义权限注解,该自定义权限注解中存储该接口资源所需权限对应比特位在权限比特流中的位置序号。
4.一种微服务架构下的权限控制系统,其特征在于,包括认证服务器、客户端、API网关和微服务;
所述认证服务器具有:
登录认证模块,用于认证客户端发送的登录请求;
令牌生成模块,用于在登录请求认证正确后生成包含权限比特流的访问令牌;权限比特流为固定位数的二进制串,该二进制串位数根据系统权限数量确定,二进制串中的各个比特位与系统中的权限一一对应,比特位的值代表相应权限的状态;
所述客户端具有:
登录请求模块,用于向认证服务器发送登录请求,并获取认证服务器返回的访问令牌;
资源请求模块,用于携带访问令牌向API网关发送资源请求;
所述API网关具有:
安全认证模块,用于对访问令牌进行安全认证;
转发模块,用于在认证通过后将资源请求转发到相应微服务,转发时携带访问令牌;
所述微服务具有:
权限验证模块,用于根据访问令牌中权限比特流上与所请求资源对应的比特位的值验证权限。
5.根据权利要求4所述的微服务架构下的权限控制系统,其特征在于:所述访问令牌具有N片令牌分片,N根据权限比特流位数确定;
所述令牌分片包括:
头部信息:存放访问令牌的类型和算法名称的JSON字符串;
基本信息:存放令牌过期时间、用户名、自定义信息的JSON字符串;
权限信息:存放分片比特流,该分片比特流由权限比特流拆分成N份后分别存入N片令牌分片中;
分片信息:存放访问令牌的分片数量N和当前分片序号的JSON字符串;
签名信息:存放头部信息、基本信息、权限信息和分片信息经过编码和非对称加密后得到的字符串,可用公钥解密验证头部信息、基本信息、权限信息和分片信息数据的有效性。
6.根据权利要求4或5所述的微服务架构下的权限控制系统,其特征在于:所述微服务的各个需要权限控制的接口带有自定义权限注解,该自定义权限注解中存储该接口资源所需权限对应比特位在权限比特流中的位置序号。
7.一种访问令牌,其特征在于:包含权限比特流,该权限比特流为固定位数的二进制串,该二进制串位数根据系统权限数量确定,二进制串中的各个比特位与系统中的权限一一对应,比特位的值代表相应权限的状态。
8.根据权利要求7所述的访问令牌,其特征在于:包括N片令牌分片,N根据权限比特流位数确定;
所述令牌分片包括:
头部信息:存放访问令牌的类型和算法名称的JSON字符串;
基本信息:存放令牌过期时间、用户名、自定义信息的JSON字符串;
权限信息:存放分片比特流,该分片比特流由权限比特流拆分成N份后分别存入N片令牌分片中;
分片信息:存放访问令牌的分片数量N和当前分片序号的JSON字符串;
签名信息:存放头部信息、基本信息、权限信息和分片信息经过编码和非对称加密后得到的字符串,可用公钥解密验证头部信息、基本信息、权限信息和分片信息数据的有效性。
9.根据权利要求8所述的访问令牌,其特征在于:
根据权限表的权限比特流的位数确定访问令牌的分片数量N;
将加密方法名和令牌类型存入各个分片的头部信息部分;
将令牌过期时间、用户名、自定义信息存入第一个分片的基本信息部分;
将用户的权限比特流进行拆分成N份后分别存入各个令牌分片的权限信息部分;
将分片数量、当前分片的序号存入各个令牌分片的分片信息;
将各个令牌分片中头部信息、基本信息、权限信息和分片信息进行编码;
将各个令牌分片中头部信息、基本信息、权限信息和分片信息进行非对称加密后得到的字符串存入相应令牌分片的签名信息部分;
连接各个令牌分片的头部信息、基本信息、权限信息、分片信息和签名信息,得到访问令牌的各个令牌分片。
10.根据权利要求9所述的访问令牌,其特征在于:所述用户的权限比特流采用以下方法得到:
从数据库中查询该用户拥有的所有角色和各个角色对应的权限比特流;
对该用户所有角色的权限比特流进行逻辑运算,得到用户的权限比特流。
CN201911316871.3A 2019-12-19 2019-12-19 微服务架构下的权限控制方法和系统 Active CN111030828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911316871.3A CN111030828B (zh) 2019-12-19 2019-12-19 微服务架构下的权限控制方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911316871.3A CN111030828B (zh) 2019-12-19 2019-12-19 微服务架构下的权限控制方法和系统

Publications (2)

Publication Number Publication Date
CN111030828A true CN111030828A (zh) 2020-04-17
CN111030828B CN111030828B (zh) 2022-04-19

Family

ID=70211075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911316871.3A Active CN111030828B (zh) 2019-12-19 2019-12-19 微服务架构下的权限控制方法和系统

Country Status (1)

Country Link
CN (1) CN111030828B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111586030A (zh) * 2020-04-30 2020-08-25 武汉时波网络技术有限公司 一种基于微服务多租户的接口鉴权、权限验证方法及系统
CN111625866A (zh) * 2020-05-28 2020-09-04 广东浪潮大数据研究有限公司 一种权限管理方法、系统、设备及存储介质
CN111711641A (zh) * 2020-07-10 2020-09-25 北京亚鸿世纪科技发展有限公司 浏览器和服务器架构身份认证令牌的状态控制方法与装置
CN112073387A (zh) * 2020-08-19 2020-12-11 成都精灵云科技有限公司 一种微服务分布式权限认证系统
CN112311788A (zh) * 2020-10-28 2021-02-02 北京锐安科技有限公司 一种访问控制方法、装置、服务器及介质
CN112367299A (zh) * 2020-10-16 2021-02-12 深圳市科漫达智能管理科技有限公司 一种应用程序接口api管理的方法以及相关装置
CN112532599A (zh) * 2020-11-19 2021-03-19 北京信安世纪科技股份有限公司 一种动态鉴权方法、装置、电子设备和存储介质
CN112637163A (zh) * 2020-12-14 2021-04-09 北京中电普华信息技术有限公司 一种基于api网关的认证授权方法及系统
CN112671841A (zh) * 2020-12-10 2021-04-16 清研灵智信息咨询(北京)有限公司 基于微服务技术架构的数据安全管理方法及系统
CN113055367A (zh) * 2021-03-08 2021-06-29 浪潮云信息技术股份公司 一种微服务网关鉴权的实现方法及系统
CN113111390A (zh) * 2021-03-25 2021-07-13 南京飞灵智能科技有限公司 基于微服务架构的鉴权方法及装置
CN113285933A (zh) * 2021-05-13 2021-08-20 京东数字科技控股股份有限公司 用户访问控制方法、装置、电子设备与存储介质
CN113472794A (zh) * 2021-07-05 2021-10-01 福州数据技术研究院有限公司 基于微服务的多应用系统权限统一管理方法和计算机可读存储介质
CN113568764A (zh) * 2021-07-29 2021-10-29 工银科技有限公司 用于微服务的用户信息获取方法、装置、设备及介质
CN114416751A (zh) * 2022-03-29 2022-04-29 中建电子商务有限责任公司 一种基于倍增位图的rbac优化算法
CN116155565A (zh) * 2023-01-04 2023-05-23 北京夏石科技有限责任公司 数据访问控制方法和装置
CN117155649A (zh) * 2023-08-31 2023-12-01 金锐软件技术(杭州)有限公司 一种第三方系统接入java网关安全防护系统及方法
CN117319096A (zh) * 2023-12-01 2023-12-29 深圳市丰润达科技有限公司 访问权限管理方法、访问权限管理设备以及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109039880A (zh) * 2018-09-05 2018-12-18 四川长虹电器股份有限公司 一种利用api网关实现简单认证授权的方法
CN109802835A (zh) * 2019-01-25 2019-05-24 北京中电普华信息技术有限公司 一种安全认证方法、系统及api网关
CN110049048A (zh) * 2019-04-22 2019-07-23 易联众民生(厦门)科技有限公司 一种政务公共服务的数据访问方法、设备及可读介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109039880A (zh) * 2018-09-05 2018-12-18 四川长虹电器股份有限公司 一种利用api网关实现简单认证授权的方法
CN109802835A (zh) * 2019-01-25 2019-05-24 北京中电普华信息技术有限公司 一种安全认证方法、系统及api网关
CN110049048A (zh) * 2019-04-22 2019-07-23 易联众民生(厦门)科技有限公司 一种政务公共服务的数据访问方法、设备及可读介质

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111586030A (zh) * 2020-04-30 2020-08-25 武汉时波网络技术有限公司 一种基于微服务多租户的接口鉴权、权限验证方法及系统
CN111586030B (zh) * 2020-04-30 2022-06-17 武汉时波网络技术有限公司 一种基于微服务多租户的接口鉴权、权限验证方法及系统
CN111625866A (zh) * 2020-05-28 2020-09-04 广东浪潮大数据研究有限公司 一种权限管理方法、系统、设备及存储介质
CN111625866B (zh) * 2020-05-28 2024-04-19 广东浪潮大数据研究有限公司 一种权限管理方法、系统、设备及存储介质
CN111711641A (zh) * 2020-07-10 2020-09-25 北京亚鸿世纪科技发展有限公司 浏览器和服务器架构身份认证令牌的状态控制方法与装置
CN111711641B (zh) * 2020-07-10 2022-03-08 北京亚鸿世纪科技发展有限公司 浏览器和服务器架构身份认证令牌的状态控制方法与装置
CN112073387A (zh) * 2020-08-19 2020-12-11 成都精灵云科技有限公司 一种微服务分布式权限认证系统
CN112367299A (zh) * 2020-10-16 2021-02-12 深圳市科漫达智能管理科技有限公司 一种应用程序接口api管理的方法以及相关装置
CN112311788A (zh) * 2020-10-28 2021-02-02 北京锐安科技有限公司 一种访问控制方法、装置、服务器及介质
CN112532599A (zh) * 2020-11-19 2021-03-19 北京信安世纪科技股份有限公司 一种动态鉴权方法、装置、电子设备和存储介质
CN112671841A (zh) * 2020-12-10 2021-04-16 清研灵智信息咨询(北京)有限公司 基于微服务技术架构的数据安全管理方法及系统
CN112637163A (zh) * 2020-12-14 2021-04-09 北京中电普华信息技术有限公司 一种基于api网关的认证授权方法及系统
CN112637163B (zh) * 2020-12-14 2023-06-27 北京中电普华信息技术有限公司 一种基于api网关的认证授权方法及系统
CN113055367A (zh) * 2021-03-08 2021-06-29 浪潮云信息技术股份公司 一种微服务网关鉴权的实现方法及系统
CN113055367B (zh) * 2021-03-08 2022-12-27 浪潮云信息技术股份公司 一种微服务网关鉴权的实现方法及系统
CN113111390A (zh) * 2021-03-25 2021-07-13 南京飞灵智能科技有限公司 基于微服务架构的鉴权方法及装置
CN113285933A (zh) * 2021-05-13 2021-08-20 京东数字科技控股股份有限公司 用户访问控制方法、装置、电子设备与存储介质
CN113472794A (zh) * 2021-07-05 2021-10-01 福州数据技术研究院有限公司 基于微服务的多应用系统权限统一管理方法和计算机可读存储介质
CN113472794B (zh) * 2021-07-05 2023-08-15 福州数据技术研究院有限公司 基于微服务的多应用系统权限统一管理方法和存储介质
CN113568764A (zh) * 2021-07-29 2021-10-29 工银科技有限公司 用于微服务的用户信息获取方法、装置、设备及介质
CN114416751A (zh) * 2022-03-29 2022-04-29 中建电子商务有限责任公司 一种基于倍增位图的rbac优化算法
CN116155565A (zh) * 2023-01-04 2023-05-23 北京夏石科技有限责任公司 数据访问控制方法和装置
CN116155565B (zh) * 2023-01-04 2023-10-10 北京夏石科技有限责任公司 数据访问控制方法和装置
CN117155649A (zh) * 2023-08-31 2023-12-01 金锐软件技术(杭州)有限公司 一种第三方系统接入java网关安全防护系统及方法
CN117155649B (zh) * 2023-08-31 2024-03-22 金锐软件技术(杭州)有限公司 一种第三方系统接入java网关安全防护系统及方法
CN117319096A (zh) * 2023-12-01 2023-12-29 深圳市丰润达科技有限公司 访问权限管理方法、访问权限管理设备以及可读存储介质
CN117319096B (zh) * 2023-12-01 2024-04-23 深圳市丰润达科技有限公司 访问权限管理方法、访问权限管理设备以及可读存储介质

Also Published As

Publication number Publication date
CN111030828B (zh) 2022-04-19

Similar Documents

Publication Publication Date Title
CN111030828B (zh) 微服务架构下的权限控制方法和系统
CN111865920B (zh) 一种网关认证和身份鉴权的平台及其方法
US11669629B2 (en) Progressive key rotation for format preserving encryption (FPE)
US11057357B2 (en) Secure, autonomous file encryption and decryption
US7243226B2 (en) Method and system for enabling content security in a distributed system
KR101302135B1 (ko) 위탁 서비스를 위한 데이터의 부분 암복호화 방법 및 그 장치
US20020016922A1 (en) Secure distributing services network system and method thereof
US20210119781A1 (en) Systems and methods for re-using cold storage keys
US20180020008A1 (en) Secure asynchronous communications
JP2004534333A (ja) コンピュータネットワークにおける分散データ処理に関する統合された保護方法及びシステム
JP2012019534A (ja) 安全なコラボレーティブ・トランザクションを管理する方法及び装置
US20180091294A1 (en) Progressive Key Rotation for Format Preserving Encryption (FPE)
TW201215070A (en) Key Management Systems and methods for shared secret ciphers
KR101648364B1 (ko) 대칭키 암호화와 비대칭키 이중 암호화를 복합적으로 적용한 암/복호화 속도개선 방법
CN112801664B (zh) 基于区块链的智能合约供应链可信服务方法
CN112689014B (zh) 一种双全工通信方法、装置、计算机设备和存储介质
US20030037241A1 (en) Single algorithm cipher suite for messaging
CN115943609A (zh) 区块链网络中中毒交易的区块传播
KR102413497B1 (ko) 보안 전자 데이터 전송을 위한 시스템 및 방법
CN111884988A (zh) 数据的安全传输方法
CN111404680B (zh) 口令管理方法和装置
CN110611674B (zh) 不同计算机系统之间的协议交互方法、系统及存储介质
CN112565156B (zh) 信息注册方法、装置和系统
KR20140004703A (ko) 제어된 보안 도메인
JP2010225108A (ja) 業務処理装置、認証システム、同システムにおける認証方法、およびプログラム

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