CN111800440B - 多策略访问控制登录方法、装置、计算机设备及存储介质 - Google Patents

多策略访问控制登录方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN111800440B
CN111800440B CN202010935822.4A CN202010935822A CN111800440B CN 111800440 B CN111800440 B CN 111800440B CN 202010935822 A CN202010935822 A CN 202010935822A CN 111800440 B CN111800440 B CN 111800440B
Authority
CN
China
Prior art keywords
data
user
authority
access control
policy
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
CN202010935822.4A
Other languages
English (en)
Other versions
CN111800440A (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.)
Shenzhen Ping An Smart Healthcare Technology Co ltd
Original Assignee
Ping An International Smart City Technology 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 Ping An International Smart City Technology Co Ltd filed Critical Ping An International Smart City Technology Co Ltd
Priority to CN202010935822.4A priority Critical patent/CN111800440B/zh
Publication of CN111800440A publication Critical patent/CN111800440A/zh
Application granted granted Critical
Publication of CN111800440B publication Critical patent/CN111800440B/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/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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
    • 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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • 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)

Abstract

本发明公开了多策略访问控制登录方法、装置、计算机设备及存储介质,涉及云安全技术,其中服务器中的资源访问控制,是在基于角色的访问控制策略、基于用户组的访问控制策略、基于规则的访问控制策略、基于用户属性的访问控制策略、基于用户的访问控制策略中选择至少两种,用户之后登录时对其令牌数据解析获取对应的权限信息,若所述权限信息对应有访问权限,将待访问资源的对应权限数据发送至用户端。本发明还涉及区块链技术,实现了多控制策略访问,适应更多访问控制场景,提高了资源数据安全。

Description

多策略访问控制登录方法、装置、计算机设备及存储介质
技术领域
本发明涉及云安全技术领域,尤其涉及一种多策略访问控制登录方法、装置、计算机设备及存储介质。
背景技术
访问控制是指对于经过身份认证的用户,判断其是否有权限访问某些指定的资源。它是系统的一项基本功能,对系统的安全性起到了至关重要的作用。
目前常用的访问控制策略有如下几种:
1、基于角色的访问控制(Role-based access control ,简记为RBAC),其主要基于用户角色属性,通过用户绑定的角色与资源的关联关系,决定用户是否能访问某个资源;
2、基于用户组的访问控制(Group-based access control,简记为GBAC),其主要基于用户组属性,通过用户所属的组与资源的关联关系,决定用户是否能访问某个资源;
3、基于规则的访问控制(Rule-based access control),其主要基于javascript(即java脚本),通过javascript代码来决定用户对某个资源的访问权限;
4、基于用户属性的访问控制(Attribute-based access control ,简记为ABAC),其主要基于用户属性,可根据用户的某些特定的属性值来决定是否拥有对某个资源的访问权限;
5、基于用户的访问控制(User-based access control ,简记为UBAC),其可精确指定某个用户对某些资源的访问权限。
目前的访问控制策略都是基于单一的策略,例如是单一的基于角色,或者是单一的基于用户组,功能比较单一,适应场景有限,不够灵活。
发明内容
本发明实施例提供了一种多策略访问控制登录方法、装置、计算机设备及存储介质,旨在解决现有技术中访问控制策略都是基于单一的策略,例如是单一的基于角色,或者是单一的基于用户组,导致访问控制功能比较单一,适用场景有限,而且系统的资源数据安全性较低的问题。
第一方面,本发明实施例提供了一种多策略访问控制登录方法,其包括:
调用预先存储的配置信息,根据所述配置信息进行服务器本地配置;其中,所述配置信息中包括域信息、客户端信息、资源信息、策略信息、权限信息;所述策略信息中包括基于角色的访问控制策略、基于用户组的访问控制策略、基于规则的访问控制策略、基于用户属性的访问控制策略、基于用户的访问控制策略中的至少两种;
若接收到用户端的登录请求,获取所述登录请求的发送方类型;其中,所述发送方类型包括用户端类型和第三方登录系统类型;
判断所述发送方类型是用户端类型或是第三方登录系统类型;
若所述发送方类型是用户端类型,获取所述登录请求相对应的令牌数据,对所述令牌数据进行解析得到解析后令牌数据;
若所述解析后令牌数据通过令牌验证,提示用户端登录成功;
根据配置信息获取与所述令牌数据对应的权限信息,判断所述权限信息是否对应有访问权限;
若所述权限信息对应有访问权限,将待访问资源的对应权限数据发送至用户端;
若所述权限信息对应无访问权限,发送用于提示资源不可用的403错误信息至用户端;
若所述发送方类型是第三方登录系统类型,获取所述登录请求对应的目标第三方服务器地址,以获取第三方服务器的第三方令牌数据;
根据所述第三方令牌数据进行第三方用户登记,并将预先存储的通用资源发送至第三方用户端;以及
若接收到第三方用户端的权限申请请求及权限申请证明数据,且所述权限申请证明数据对应的用户身份通过身份验证,将所述权限申请请求对应的访问权限进行存储。
第二方面,本发明实施例提供了一种多策略访问控制登录装置,其包括:
初始配置单元,用于调用预先存储的配置信息,根据所述配置信息进行服务器本地配置;其中,所述配置信息中包括域信息、客户端信息、资源信息、策略信息、权限信息;所述策略信息中包括基于角色的访问控制策略、基于用户组的访问控制策略、基于规则的访问控制策略、基于用户属性的访问控制策略、基于用户的访问控制策略中的至少两种;
发送方类型获取单元,用于若接收到用户端的登录请求,获取所述登录请求的发送方类型;其中,所述发送方类型包括用户端类型和第三方登录系统类型;
发送方类型判断单元,用于判断所述发送方类型是用户端类型或是第三方登录系统类型;
令牌解析单元,用于若所述发送方类型是用户端类型,获取所述登录请求相对应的令牌数据,对所述令牌数据进行解析得到解析后令牌数据;
令牌验证单元,用于若所述解析后令牌数据通过令牌验证,提示用户端登录成功;
权限信息获取单元,用于根据配置信息获取与所述令牌数据对应的权限信息,判断所述权限信息是否对应有访问权限;
资源发送单元,用于若所述权限信息对应有访问权限,将待访问资源的对应权限数据发送至用户端;
资源不可用提示单元,用于若所述权限信息对应无访问权限,发送用于提示资源不可用的403错误信息至用户端;
第三方令牌获取单元,用于若所述发送方类型是第三方登录系统类型,获取所述登录请求对应的目标第三方服务器地址,以获取第三方服务器的第三方令牌数据;
通用资源发送单元,用于根据所述第三方令牌数据进行第三方用户登记,并将预先存储的通用资源发送至第三方用户端;以及
权限申请单元,用于若接收到第三方用户端的权限申请请求及权限申请证明数据,且所述权限申请证明数据对应的用户身份通过身份验证,将所述权限申请请求对应的访问权限进行存储。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的多策略访问控制登录方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的多策略访问控制登录方法。
本发明实施例提供了一种多策略访问控制登录方法、装置、计算机设备及存储介质,其中服务器中的资源访问控制,是在基于角色的访问控制策略、基于用户组的访问控制策略、基于规则的访问控制策略、基于用户属性的访问控制策略、基于用户的访问控制策略中选择至少两种,用户之后登录时对其令牌数据解析获取对应的权限信息,若所述权限信息对应有访问权限,将待访问资源的对应权限数据发送至用户端。实现了多控制策略访问,适应更多访问控制场景,提高了资源数据安全。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的多策略访问控制登录方法的应用场景示意图;
图2为本发明实施例提供的多策略访问控制登录方法的流程示意图;
图3为本发明实施例提供的多策略访问控制登录装置的示意性框图;
图4为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和 “包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的多策略访问控制登录方法的应用场景示意图;图2为本发明实施例提供的多策略访问控制登录方法的流程示意图,该多策略访问控制登录方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。
如图2所示,该方法包括步骤S101~S111。
S101、调用预先存储的配置信息,根据所述配置信息进行服务器本地配置;其中,所述配置信息中包括域信息、客户端信息、资源信息、策略信息、权限信息;所述策略信息中包括基于角色的访问控制策略、基于用户组的访问控制策略、基于规则的访问控制策略、基于用户属性的访问控制策略、基于用户的访问控制策略中的至少两种。
在本实施例中,当用户使用的用户端需要访问服务器时,服务器管理员需事先在服务器中安装Keycloak(其是一个针对现代应用程序和服务的开源身份和访问管理解决方案),Keycloak提供以下功能:
A1)策略管理点(Policy Administration Point,简记为PAP),其提供基于Keycloak管理控制台的一组UI,以管理资源服务器,资源,范围,权限和策略;
A2)策略决策点(Policy Decision Point ,简记为PDP),其提供可分发的策略决策点,指向发送授权请求的位置,并根据请求的权限相应地评估策略。有关更多信息,请参阅获取权限;
A3)策略执行点(Policy Enforcement Point,简记为PEP),其提供不同环境的实现,以在资源服务器端实际执行授权决策;
A4)策略信息点(Policy Information Point,简记为PIP),其基于KeycloakAuthentication Server(即Keycloak认证服务器),可以从身份和运行时环境中获取属性。
之后在Keycloak中的PAP进行域信息、客户端信息、资源信息、策略信息、权限信息的设置。
具体的,在配置域信息时,根据服务器管理员录入的域名称,即可生成对应的领域。在创建了领域之后,可以创建用户,例如填写“用户名”、“电子邮件”、“名字”和“姓氏”字段,单击“User Enabled”开关,单击“On”,然后单击“Save”即可;之后针对所创建用户设置密码,即可完成用户创建。
在配置客户端信息时,填写 “Client ID”(表示客户端ID)、“Client Protocol”(表示客户端协议)和“Root URL”(表示根地址)字段等信息。
在配置资源信息时,是在服务器中存放一些可被用户端访问的数据。资源是应用程序和组织的资产的一部分。 它可以是一组或多个端点、一个经典的 web 资源(如 HTML页面)等等。 在授权策略术语中,资源是受保护的对象。每个资源都有一个唯一标识符,它可以表示一个资源或一组资源。 例如,您可以管理一个“银行帐户资源” ,该资源表示并定义了一组针对所有银行帐户的授权策略。 但是您也可以有一个名为 Alice’s BankingAccount 的不同资源,它表示单个客户拥有的单个资源,该资源可以有自己的一组授权策略。
在配置策略信息时,也即配置访问资源的策略。Keycloak中提供了基于role(基于角色)、group(基于用户组)、用户属性以及javascript的组合访问控制策略。其中,基于role,表示通过用户绑定的角色与资源的关联关系,决定用户是否能访问某个资源。基于group,表示通过用户所属的组与资源的关联关系,决定用户是否能访问某个资源。基于用户属性,表示可根据用户的某些特定的属性值来决定是否拥有对某个资源的访问权限。基于javascript,表示通过javascript代码来决定用户对某个资源的访问权限。本申请中针对每一资源配置策略时,是在基于角色的访问控制策略、基于用户组的访问控制策略、基于规则的访问控制策略、基于用户属性的访问控制策略、基于用户的访问控制策略中选择至少两种,以实现多控制策略访问。
在配置权限信息,是对某一用户访问某一资源时相应操作的权限,例如只读、读写、删除等权限。
在服务器中完成了上述配置信息的配置后,后续用户即可使用用户端访问服务器中的资源。
S102、若接收到用户端的登录请求,获取所述登录请求的发送方类型;其中,所述发送方类型包括用户端类型和第三方登录系统类型。
在本实施例中,当服务器接收到了用户端(该用户端可以是已在本服务器注册的注册用户,也可以以第三方系统的注册用户)的登录请求时,需要先获取所述登录请求对应的发送方类型,以进一步判断用户类型。
S103、判断所述发送方类型是用户端类型或是第三方登录系统类型。
在本实施例中,所述发送方类型是包括用户端类型和第三方登录系统类型,故服务器在接收到登录请求后,即可判断所述发送方类型是用户端类型,还是第三方登录系统类型。通过这一判断,是为了确定服务器对该用户推送对应类型的资源数据。
S104、若所述发送方类型是用户端类型,获取所述登录请求相对应的令牌数据,对所述令牌数据进行解析得到解析后令牌数据。
在本实施例中,若所述发送方类型是用户端类型,表示用户端之前在服务器可能已注册。当服务器接收到所述登录请求相对应的令牌数据时,该令牌数据一般是包含在http请求中一同被发送过来,一般包括数据头(header)、有效数据(payload)和签名(signature)。此时在服务器中需对令牌数据进行解析,以判断用户端是否有登录权限。
在一实施例中,步骤S104包括:
调用本地存储的公钥,以对令牌数据中的签名进行解密,得到解密后签名数据;
获取所述解密后签名数据中包括的当前数据头和当前有效数据,以得到解析后令牌数据。
在本实施例中,服务器接收到的令牌数据用token表示,其中:
token = base64(header) + "." + base64(payload) + "." + signature;
token中的signature = encrypt( base64(header) + base64(payload) ,privateKey);
Base64是常见的用于传输8位字节码的编码方式之一,encrypt( base64(header)+ base64(payload) , privateKey)表示通过私钥(privateKey)对经过base64编码后的数据头和有效数据进行加密后生成签名,之后根据再和base64(header) 、 "." 、 base64(payload) 及"."一起组成令牌。
在一实施例中,所述令牌数据包括数据头的Base64编码数据、有效数据的Base64编码数据、以及签名;其中,由数据头的Base64编码数据和有效数据的Base64编码数据通过用户端的私钥加密得到所述令牌数据的签名。
即在获知了用户端发送的token的数据组成后,可以通过服务器中所保存与私钥(privateKey)对应的公钥(publicKey)对所述令牌数据进行解析得到解析后令牌数据。解析后的令牌数据即可判断用户账号的登录权限信息,以显示对应的资源信息至用户端。
其中,通过decrypt(signature,publicKey)即可得到解密后签名数据;通过decrypt(signature,publicKey)即可得到base64(header’) 和base64(payload’);base64(header’)经过base64解码后即可得到对应的当前数据头header’, base64(payload’)经过base64解码后即可得到对应的当前有效数据payload’。
S105、若所述解析后令牌数据通过令牌验证,提示用户端登录成功。
在本实施例中,为了确保服务器中的资源数据安全,只有在解析数据通过令牌验证的情况下,才能提示用户端登录成功,
在本实施例中,步骤S105包括:
若所述当前数据头与所述令牌数据中的数据头相同、且所述当前有效数据与所述令牌数据中的有效数据相同,判定通过令牌验证,提示用户端登录成功。
在本实施例中,即当header’= header、且payload’= payload时,表示用户端发送的令牌数据通过令牌验证,向用户端发送登录成功的提示信息即可。通过这一验证方式,确保了验证过程的准确性。
S106、根据配置信息获取与所述令牌数据对应的权限信息,判断所述权限信息是否对应有访问权限。
在本实施例中,是通过服务器中的策略执行点(PEP)来获取该令牌数据对应的用户名和密码,从而在配置信息中获取与用户名对应的权限信息,即通过策略执行点能更快速的获取用户名对应的权限信息。
在一实施例,步骤S106包括:
通过策略执行点调用策略信息点,以获取与所述令牌数据对应的用户属性;
调用策略决策点,以获取与用户属性对应的访问策略信息;其中,所述访问策略信息包括基于角色的访问控制策略、基于用户组的访问控制策略、基于规则的访问控制策略、基于用户属性的访问控制策略、基于用户的访问控制策略中的至少两种;
若所述访问策略信息满足与所述令牌数据中对应的待访问资源的访问策略,获取与所述令牌数据对应的权限信息。
在本实施例中,由于在配置信息中配置了与各用户名针对各资源的访问策略和访问权限,此时可以调用策略决策点来获取与用户属性对应的访问策略信息。策略定义了必须满足的条件,才能访问或对某个对象执行操作,但这些条件与它所保护的对象无关,他们是通用的,可以重用以生成权限或更复杂的策略。权限与具体的资源相关,并制定了访问具体的资源需要满足的策略。
此时为了满足多控制访问策略,在针对每一用户名配置访问策略信息时,是可以包括基于角色的访问控制策略、基于用户组的访问控制策略、基于规则的访问控制策略、基于用户属性的访问控制策略、基于用户的访问控制策略中的至少两种,从而适应更多访问控制场景。
在获取了权限信息后,即可获知该用户名对应的用户端能对待访问资源进行何种操作,例如只读、读写、删除等操作。
在一实施例中,所述通过策略执行点调用策略信息点,以获取与所述令牌数据对应的用户属性的步骤,包括:
根据策略执行点来获取所述令牌数据对应的用户名和密码;
调用策略信息点获取与所述用户名对应的用户属性。
在本实施例中,是通过服务器中的策略执行点(PEP)来获取该令牌数据对应的用户名和密码,从而在配置信息中获取与用户名对应的权限信息。通过策略执行点能够与服务器通信请求授权数据,并基于服务器的返回决定对受保护资源的访问。
S107、若所述权限信息对应有访问权限,将待访问资源的对应权限数据发送至用户端。
在本实施例中,若用户端对应的权限信息对应有访问权限,表示其可以访问服务器中对应待访问资源的对应权限数据,此时发送权限数据至用户端即可。
S108、若所述权限信息对应无访问权限,发送用于提示资源不可用的403错误信息至用户端。
在本实施例中,若用户端对应的权限信息对应无访问权限,表手其不可以访问服务器中对应待访问资源,此时发送用于提示资源不可用的403错误信息至用户端即可。
S109、若所述发送方类型是第三方登录系统类型,获取所述登录请求对应的目标第三方服务器地址,以获取第三方服务器的第三方令牌数据。
在本实施例中,若所述发送方类型是第三方登录系统类型,表示用户端之前在服务器未注册,而是在第三方系统内完成注册。由于服务器针对第三方系统也开放了登录接口,只要是第三方系统(也可以理解为第三方服务器)的注册用户也能登录本服务器。此时服务器接收的所述登录请求中包括目标第三方服务器地址,服务器根据所述目标第三方服务器地址与第三方服务器连接以获取第三方服务器的第三方令牌数据。
S110、根据所述第三方令牌数据进行第三方用户登记,并将预先存储的通用资源发送至第三方用户端。
在本实施例中,由于第三方用户在服务器中可能是第一次连接,而且第三方用户是初始有权限访问服务器的,此时可以将服务器中预先存储的通用资源对应的数据发送至之前所述发送登录请求的第三方用户端。通过通用资源对应的数据,第三方用户可以初始查看一些通用数据,例如该通用数据用于提示用户进一步申请用户权限,这样第三方用户可以操作第三方用户端发送权限申请请求及权限申请证明数据至服务器,以实现即时的申请用户权限。
S111、若接收到第三方用户端的权限申请请求及权限申请证明数据,且所述权限申请证明数据对应的用户身份通过身份验证,将所述权限申请请求对应的访问权限进行存储。
在本实施例中,当服务器接收到了第三方用户端的权限申请请求及权限申请证明数据,此时为了验证用户身份和其申请的权限等级是否合适,可以是先调取第三方服务器中存储的与所述权限申请证明数据对应的身份证明数据,判断第三方用户端所发送的权限申请证明数据中是否包括上述身份证明数据。若第三方用户端所发送的权限申请证明数据中包括上述身份证明数据,而且所述权限申请请求对应的访问权限(例如可读数据,可复制数据)并未超出服务器中针对第三方用户设置的访问权限上限(例如针对第三方用户设置的访问权限上限为可读数据,可复制数据,可编辑非敏感数据等),此时则可将所述权限申请请求对应的访问权限进行存储。通过这一方式,实现了服务器中重要数据的有效保护。
在一实施例中,步骤S107或步骤S111之后还包括:
将用户端的访问记录信息上传至区块链网络。
在本实施例中,服务器可以作为一个区块链节点设备,以每一次用户端根据用户名和密码登录服务器的访问记录信息(该访问记录信息包括用户名、访文时间等信息)上传至区块链网络,充分利用区块链数据不可篡改的特性,实现登录记录数据固化存储。
其中,基于所述访问记录信息得到对应的摘要信息,具体来说,摘要信息由访问记录信息进行散列处理得到,比如利用sha256算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。服务器可以从区块链中下载得该摘要信息,以便查证所述访问记录信息是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
该方法实现了服务器中的资源访问控制,是在基于角色的访问控制策略、基于用户组的访问控制策略、基于规则的访问控制策略、基于用户属性的访问控制策略、基于用户的访问控制策略中选择至少两种,以实现多控制策略访问,适应更多访问控制场景,提高了资源数据安全。
本发明实施例还提供一种多策略访问控制登录装置,该多策略访问控制登录装置用于执行前述多策略访问控制登录方法的任一实施例。具体地,请参阅图3,图3是本发明实施例提供的多策略访问控制登录装置的示意性框图。该多策略访问控制登录装置100可以配置于服务器中。
如图3所示,多策略访问控制登录装置100包括:初始配置单元101、发送方类型获取单元102、发送方类型判断单元103、令牌解析单元104、令牌验证单元105、权限信息获取单元106、资源发送单元107、资源不可用提示单元108、第三方令牌获取单元109、通用资源发送单元110、权限申请单元111。
初始配置单元101,用于调用预先存储的配置信息,根据所述配置信息进行服务器本地配置;其中,所述配置信息中包括域信息、客户端信息、资源信息、策略信息、权限信息;所述策略信息中包括基于角色的访问控制策略、基于用户组的访问控制策略、基于规则的访问控制策略、基于用户属性的访问控制策略、基于用户的访问控制策略中的至少两种。
在本实施例中,当用户使用的用户端需要访问服务器时,服务器管理员需事先在服务器中安装Keycloak(其是一个针对现代应用程序和服务的开源身份和访问管理解决方案),Keycloak提供以下功能:
A1)策略管理点(Policy Administration Point,简记为PAP),其提供基于Keycloak管理控制台的一组UI,以管理资源服务器,资源,范围,权限和策略;
A2)策略决策点(Policy Decision Point ,简记为PDP),其提供可分发的策略决策点,指向发送授权请求的位置,并根据请求的权限相应地评估策略。有关更多信息,请参阅获取权限;
A3)策略执行点(Policy Enforcement Point,简记为PEP),其提供不同环境的实现,以在资源服务器端实际执行授权决策;
A4)策略信息点(Policy Information Point,简记为PIP),其基于KeycloakAuthentication Server(即Keycloak认证服务器),可以从身份和运行时环境中获取属性。
之后在Keycloak中的PAP进行域信息、客户端信息、资源信息、策略信息、权限信息的设置。
具体的,在配置域信息时,根据服务器管理员录入的域名称,即可生成对应的领域。在创建了领域之后,可以创建用户,例如填写“用户名”、“电子邮件”、“名字”和“姓氏”字段,单击“User Enabled”开关,单击“On”,然后单击“Save”即可;之后针对所创建用户设置密码,即可完成用户创建。
在配置客户端信息时,填写 “Client ID”(表示客户端ID)、“Client Protocol”(表示客户端协议)和“Root URL”(表示根地址)字段等信息。
在配置资源信息时,是在服务器中存放一些可被用户端访问的数据。资源是应用程序和组织的资产的一部分。 它可以是一组或多个端点、一个经典的 web 资源(如 HTML页面)等等。 在授权策略术语中,资源是受保护的对象。每个资源都有一个唯一标识符,它可以表示一个资源或一组资源。 例如,您可以管理一个“银行帐户资源” ,该资源表示并定义了一组针对所有银行帐户的授权策略。 但是您也可以有一个名为 Alice’s BankingAccount 的不同资源,它表示单个客户拥有的单个资源,该资源可以有自己的一组授权策略。
在配置策略信息时,也即配置访问资源的策略。Keycloak中提供了基于role(基于角色)、group(基于用户组)、用户属性以及javascript的组合访问控制策略。其中,基于role,表示通过用户绑定的角色与资源的关联关系,决定用户是否能访问某个资源。基于group,表示通过用户所属的组与资源的关联关系,决定用户是否能访问某个资源。基于用户属性,表示可根据用户的某些特定的属性值来决定是否拥有对某个资源的访问权限。基于javascript,表示通过javascript代码来决定用户对某个资源的访问权限。本申请中针对每一资源配置策略时,是在基于角色的访问控制策略、基于用户组的访问控制策略、基于规则的访问控制策略、基于用户属性的访问控制策略、基于用户的访问控制策略中选择至少两种,以实现多控制策略访问。
在配置权限信息,是对某一用户访问某一资源时相应操作的权限,例如只读、读写、删除等权限。
在服务器中完成了上述配置信息的配置后,后续用户即可使用用户端访问服务器中的资源。
发送方类型获取单元102,用于若接收到用户端的登录请求,获取所述登录请求的发送方类型;其中,所述发送方类型包括用户端类型和第三方登录系统类型。
在本实施例中,当服务器接收到了用户端(该用户端可以是已在本服务器注册的注册用户,也可以以第三方系统的注册用户)的登录请求时,需要先获取所述登录请求对应的发送方类型,以进一步判断用户类型。
发送方类型判断单元103,用于判断所述发送方类型是用户端类型或是第三方登录系统类型。
在本实施例中,所述发送方类型是包括用户端类型和第三方登录系统类型,故服务器在接收到登录请求后,即可判断所述发送方类型是用户端类型,还是第三方登录系统类型。通过这一判断,是为了确定服务器对该用户推送对应类型的资源数据。
令牌解析单元104,用于若接收到与用户端的用户名和密码相对应的令牌数据,对所述令牌数据进行解析得到解析后令牌数据。
在本实施例中,若所述发送方类型是用户端类型,表示用户端之前在服务器可能已注册。当服务器接收到所述登录请求相对应的令牌数据时,该令牌数据一般是包含在http请求中一同被发送过来,一般包括数据头(header)、有效数据(payload)和签名(signature)。此时在服务器中需对令牌数据进行解析,以判断用户端是否有登录权限。
在一实施例中,令牌解析单元104包括:
签名解密单元,用于调用本地存储的公钥,以对令牌数据中的签名进行解密,得到解密后签名数据;
签名解析单元,用于获取所述解密后签名数据中包括的当前数据头和当前有效数据,以得到解析后令牌数据。
在本实施例中,服务器接收到的令牌数据用token表示,其中:
token = base64(header) + "." + base64(payload) + "." + signature;
token中的signature = encrypt( base64(header) + base64(payload) ,privateKey);
Base64是常见的用于传输8位字节码的编码方式之一,encrypt( base64(header)+ base64(payload) , privateKey)表示通过私钥(privateKey)对经过base64编码后的数据头和有效数据进行加密后生成签名,之后根据再和base64(header) 、 "." 、 base64(payload) 及"."一起组成令牌。
在一实施例中,所述令牌数据包括数据头的Base64编码数据、有效数据的Base64编码数据、以及签名;其中,由数据头的Base64编码数据和有效数据的Base64编码数据通过用户端的私钥加密得到所述令牌数据的签名。
即在获知了用户端发送的token的数据组成后,可以通过服务器中所保存与私钥(privateKey)对应的公钥(publicKey)对所述令牌数据进行解析得到解析后令牌数据。解析后的令牌数据即可判断用户账号的登录权限信息,以显示对应的资源信息至用户端。
其中,通过decrypt(signature,publicKey)即可得到解密后签名数据;通过decrypt(signature,publicKey)即可得到base64(header’) 和base64(payload’);base64(header’)经过base64解码后即可得到对应的当前数据头header’, base64(payload’)经过base64解码后即可得到对应的当前有效数据payload’。
令牌验证单元105,用于若所述解析后令牌数据通过令牌验证,提示用户端登录成功。
在本实施例中,为了确保服务器中的资源数据安全,只有在解析数据通过令牌验证的情况下,才能提示用户端登录成功,
在本实施例中,令牌验证单元105还用于:
若所述当前数据头与所述令牌数据中的数据头相同、且所述当前有效数据与所述令牌数据中的有效数据相同,判定通过令牌验证,提示用户端登录成功。
在本实施例中,即当header’= header、且payload’= payload时,表示用户端发送的令牌数据通过令牌验证,向用户端发送登录成功的提示信息即可。通过这一验证方式,确保了验证过程的准确性。
权限信息获取单元106,用于根据配置信息获取与所述令牌数据对应的权限信息,判断所述权限信息是否对应有访问权限。
在本实施例中,是通过服务器中的策略执行点(PEP)来获取该令牌数据对应的用户名和密码,从而在配置信息中获取与用户名对应的权限信息,即通过策略执行点能更快速的获取用户名对应的权限信息。
在一实施例,权限信息获取单元106包括:
用户属性获取单元,用于通过策略执行点调用策略信息点,以获取与所述令牌数据对应的用户属性;
访问策略信息获取单元,用于调用策略决策点,以获取与用户属性对应的访问策略信息;其中,所述访问策略信息包括基于角色的访问控制策略、基于用户组的访问控制策略、基于规则的访问控制策略、基于用户属性的访问控制策略、基于用户的访问控制策略中的至少两种;
策略判断单元,用于若所述访问策略信息满足与所述令牌数据中对应的待访问资源的访问策略,获取与所述令牌数据对应的权限信息。
在本实施例中,由于在配置信息中配置了与各用户名针对各资源的访问策略和访问权限,此时可以调用策略决策点来获取与用户属性对应的访问策略信息。策略定义了必须满足的条件,才能访问或对某个对象执行操作,但这些条件与它所保护的对象无关,他们是通用的,可以重用以生成权限或更复杂的策略。权限与具体的资源相关,并制定了访问具体的资源需要满足的策略。
此时为了满足多控制访问策略,在针对每一用户名配置访问策略信息时,是可以包括基于角色的访问控制策略、基于用户组的访问控制策略、基于规则的访问控制策略、基于用户属性的访问控制策略、基于用户的访问控制策略中的至少两种,从而适应更多访问控制场景。
在获取了权限信息后,即可获知该用户名对应的用户端能对待访问资源进行何种操作,例如只读、读写、删除等操作。
在一实施例中,所述用户属性获取单元,包括:
账号信息获取单元,用于根据策略执行点来获取所述令牌数据对应的用户名和密码;
属性获取单元,用于调用策略信息点获取与所述用户名对应的用户属性。
在本实施例中,是通过服务器中的策略执行点(PEP)来获取该令牌数据对应的用户名和密码,从而在配置信息中获取与用户名对应的权限信息。通过策略执行点能够与服务器通信请求授权数据,并基于服务器的返回决定对受保护资源的访问。
资源发送单元107,用于若所述权限信息对应有访问权限,将待访问资源的对应权限数据发送至用户端。
在本实施例中,若用户端对应的权限信息对应有访问权限,表示其可以访问服务器中对应待访问资源的对应权限数据,此时发送权限数据至用户端即可。
资源不可用提示单元108,用于若所述权限信息对应无访问权限,发送用于提示资源不可用的403错误信息至用户端。
在本实施例中,若用户端对应的权限信息对应无访问权限,表手其不可以访问服务器中对应待访问资源,此时发送用于提示资源不可用的403错误信息至用户端即可。
第三方令牌获取单元109,用于若所述发送方类型是第三方登录系统类型,获取所述登录请求对应的目标第三方服务器地址,以获取第三方服务器的第三方令牌数据。
在本实施例中,若所述发送方类型是第三方登录系统类型,表示用户端之前在服务器未注册,而是在第三方系统内完成注册。由于服务器针对第三方系统也开放了登录接口,只要是第三方系统(也可以理解为第三方服务器)的注册用户也能登录本服务器。此时服务器接收的所述登录请求中包括目标第三方服务器地址,服务器根据所述目标第三方服务器地址与第三方服务器连接以获取第三方服务器的第三方令牌数据。
通用资源发送单元110,用于根据所述第三方令牌数据进行第三方用户登记,并将预先存储的通用资源发送至第三方用户端。
在本实施例中,由于第三方用户在服务器中可能是第一次连接,而且第三方用户是初始有权限访问服务器的,此时可以将服务器中预先存储的通用资源对应的数据发送至之前所述发送登录请求的第三方用户端。通过通用资源对应的数据,第三方用户可以初始查看一些通用数据,例如该通用数据用于提示用户进一步申请用户权限,这样第三方用户可以操作第三方用户端发送权限申请请求及权限申请证明数据至服务器,以实现即时的申请用户权限。
权限申请单元111,用于若接收到第三方用户端的权限申请请求及权限申请证明数据,且所述权限申请证明数据对应的用户身份通过身份验证,将所述权限申请请求对应的访问权限进行存储。
在本实施例中,当服务器接收到了第三方用户端的权限申请请求及权限申请证明数据,此时为了验证用户身份和其申请的权限等级是否合适,可以是先调取第三方服务器中存储的与所述权限申请证明数据对应的身份证明数据,判断第三方用户端所发送的权限申请证明数据中是否包括上述身份证明数据。若第三方用户端所发送的权限申请证明数据中包括上述身份证明数据,而且所述权限申请请求对应的访问权限(例如可读数据,可复制数据)并未超出服务器中针对第三方用户设置的访问权限上限(例如针对第三方用户设置的访问权限上限为可读数据,可复制数据,可编辑非敏感数据等),此时则可将所述权限申请请求对应的访问权限进行存储。通过这一方式,实现了服务器中重要数据的有效保护。
在一实施例中,多策略访问控制登录装置100还包括:
访问记录上链单元,用于将用户端的访问记录信息上传至区块链网络。
在本实施例中,服务器可以作为一个区块链节点设备,以每一次用户端根据用户名和密码登录服务器的访问记录信息(该访问记录信息包括用户名、访文时间等信息)上传至区块链网络,充分利用区块链数据不可篡改的特性,实现登录记录数据固化存储。
其中,基于所述访问记录信息得到对应的摘要信息,具体来说,摘要信息由访问记录信息进行散列处理得到,比如利用sha256算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。服务器可以从区块链中下载得该摘要信息,以便查证所述访问记录信息是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
该装置实现了服务器中的资源访问控制,是在基于角色的访问控制策略、基于用户组的访问控制策略、基于规则的访问控制策略、基于用户属性的访问控制策略、基于用户的访问控制策略中选择至少两种,以实现多控制策略访问,适应更多访问控制场景,提高了资源数据安全。
上述多策略访问控制登录装置可以实现为计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。
请参阅图4,图4是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图4,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行多策略访问控制登录方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行多策略访问控制登录方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图4中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本发明实施例公开的多策略访问控制登录方法。
本领域技术人员可以理解,图4中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图4所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元 (CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路 (Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的多策略访问控制登录方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备 ( 可以是个人计算机,服务器,或者网络设备等 ) 执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U 盘、移动硬盘、只读存储器 (ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种多策略访问控制登录方法,其特征在于,包括:
调用预先存储的配置信息,根据所述配置信息进行服务器本地配置;其中,所述配置信息中包括域信息、客户端信息、资源信息、策略信息、权限信息;所述策略信息中包括基于角色的访问控制策略、基于用户组的访问控制策略、基于规则的访问控制策略、基于用户属性的访问控制策略、基于用户的访问控制策略中的至少两种;
若接收到用户端的登录请求,获取所述登录请求的发送方类型;其中,所述发送方类型包括用户端类型和第三方登录系统类型;
判断所述发送方类型是用户端类型或是第三方登录系统类型;
若所述发送方类型是用户端类型,获取所述登录请求相对应的令牌数据,对所述令牌数据进行解析得到解析后令牌数据;
若所述解析后令牌数据通过令牌验证,提示用户端登录成功;
根据配置信息获取与所述令牌数据对应的权限信息,判断所述权限信息是否对应有访问权限;
若所述权限信息对应有访问权限,将待访问资源的对应权限数据发送至用户端;
若所述权限信息对应无访问权限,发送用于提示资源不可用的403错误信息至用户端;
若所述发送方类型是第三方登录系统类型,获取所述登录请求对应的目标第三方服务器地址,以获取第三方服务器的第三方令牌数据;
根据所述第三方令牌数据进行第三方用户登记,并将预先存储的通用资源发送至第三方用户端;以及
若接收到第三方用户端的权限申请请求及权限申请证明数据,且所述权限申请证明数据对应的用户身份通过身份验证,将所述权限申请请求对应的访问权限进行存储;
其中,所述通用资源中的通用数据用于提示用户申请用户权限;
所述若接收到第三方用户端的权限申请请求及权限申请证明数据,且所述权限申请证明数据对应的用户身份通过身份验证,将所述权限申请请求对应的访问权限进行存储,包括:
调取第三方服务器中存储的与所述权限申请证明数据对应的身份证明数据,判断第三方用户端所发送的权限申请证明数据中是否包括所述身份证明数据;
若第三方用户端所发送的权限申请证明数据中包括所述身份证明数据,而且所述权限申请请求对应的访问权限并未超出服务器中对第三方用户设置的访问权限上限,将所述权限申请请求对应的访问权限进行存储。
2.根据权利要求1所述的多策略访问控制登录方法,其特征在于,所述对所述令牌数据进行解析得到解析后令牌数据,包括;
调用本地存储的公钥,以对令牌数据中的签名进行解密,得到解密后签名数据;
获取所述解密后签名数据中包括的当前数据头和当前有效数据,以得到解析后令牌数据。
3.根据权利要求2所述的多策略访问控制登录方法,其特征在于,所述若所述解析后令牌数据通过令牌验证,提示用户端登录成功,包括:
若所述当前数据头与所述令牌数据中的数据头相同、且所述当前有效数据与所述令牌数据中的有效数据相同,判定通过令牌验证,提示用户端登录成功。
4.根据权利要求2所述的多策略访问控制登录方法,其特征在于,所述令牌数据包括数据头的Base64编码数据、有效数据的Base64编码数据、以及签名;其中,由数据头的Base64编码数据和有效数据的Base64编码数据通过用户端的私钥加密得到所述令牌数据的签名。
5.根据权利要求1所述的多策略访问控制登录方法,其特征在于,所述根据配置信息获取与所述令牌数据对应的权限信息,包括:
通过策略执行点调用策略信息点,以获取与所述令牌数据对应的用户属性;
调用策略决策点,以获取与用户属性对应的访问策略信息;其中,所述访问策略信息包括基于角色的访问控制策略、基于用户组的访问控制策略、基于规则的访问控制策略、基于用户属性的访问控制策略、基于用户的访问控制策略中的至少两种;
若所述访问策略信息满足与所述令牌数据中对应的待访问资源的访问策略,获取与所述令牌数据对应的权限信息。
6.根据权利要求5所述的多策略访问控制登录方法,其特征在于,所述通过策略执行点调用策略信息点,以获取与所述令牌数据对应的用户属性,包括:
根据策略执行点来获取所述令牌数据对应的用户名和密码;
调用策略信息点获取与所述用户名对应的用户属性。
7.根据权利要求1所述的多策略访问控制登录方法,其特征在于,还包括:
将用户端的访问记录信息上传至区块链网络。
8.一种多策略访问控制登录装置,其特征在于,包括:
初始配置单元,用于调用预先存储的配置信息,根据所述配置信息进行服务器本地配置;其中,所述配置信息中包括域信息、客户端信息、资源信息、策略信息、权限信息;所述策略信息中包括基于角色的访问控制策略、基于用户组的访问控制策略、基于规则的访问控制策略、基于用户属性的访问控制策略、基于用户的访问控制策略中的至少两种;
发送方类型获取单元,用于若接收到用户端的登录请求,获取所述登录请求的发送方类型;其中,所述发送方类型包括用户端类型和第三方登录系统类型;
发送方类型判断单元,用于判断所述发送方类型是用户端类型或是第三方登录系统类型;
令牌解析单元,用于若所述发送方类型是用户端类型,获取所述登录请求相对应的令牌数据,对所述令牌数据进行解析得到解析后令牌数据;
令牌验证单元,用于若所述解析后令牌数据通过令牌验证,提示用户端登录成功;
权限信息获取单元,用于根据配置信息获取与所述令牌数据对应的权限信息,判断所述权限信息是否对应有访问权限;
资源发送单元,用于若所述权限信息对应有访问权限,将待访问资源的对应权限数据发送至用户端;
资源不可用提示单元,用于若所述权限信息对应无访问权限,发送用于提示资源不可用的403错误信息至用户端;
第三方令牌获取单元,用于若所述发送方类型是第三方登录系统类型,获取所述登录请求对应的目标第三方服务器地址,以获取第三方服务器的第三方令牌数据;
通用资源发送单元,用于根据所述第三方令牌数据进行第三方用户登记,并将预先存储的通用资源发送至第三方用户端;以及
权限申请单元,用于若接收到第三方用户端的权限申请请求及权限申请证明数据,且所述权限申请证明数据对应的用户身份通过身份验证,将所述权限申请请求对应的访问权限进行存储;
其中,所述通用资源中的通用数据用于提示用户申请用户权限;
所述权限申请单元还用于:
调取第三方服务器中存储的与所述权限申请证明数据对应的身份证明数据,判断第三方用户端所发送的权限申请证明数据中是否包括所述身份证明数据;
若第三方用户端所发送的权限申请证明数据中包括所述身份证明数据,而且所述权限申请请求对应的访问权限并未超出服务器中对第三方用户设置的访问权限上限,将所述权限申请请求对应的访问权限进行存储。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的多策略访问控制登录方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的多策略访问控制登录方法。
CN202010935822.4A 2020-09-08 2020-09-08 多策略访问控制登录方法、装置、计算机设备及存储介质 Active CN111800440B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010935822.4A CN111800440B (zh) 2020-09-08 2020-09-08 多策略访问控制登录方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010935822.4A CN111800440B (zh) 2020-09-08 2020-09-08 多策略访问控制登录方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN111800440A CN111800440A (zh) 2020-10-20
CN111800440B true CN111800440B (zh) 2020-12-18

Family

ID=72834298

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010935822.4A Active CN111800440B (zh) 2020-09-08 2020-09-08 多策略访问控制登录方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN111800440B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114647807A (zh) * 2020-12-18 2022-06-21 永中软件股份有限公司 web登录页面的主题定制方法、计算装置及可读介质
CN112887273B (zh) 2021-01-11 2022-05-20 苏州浪潮智能科技有限公司 一种密钥管理方法及相关设备
CN112836189B (zh) * 2021-02-26 2023-11-14 深圳证券交易所 第三方应用的访问方法、终端及计算机可读存储介质
CN112818309A (zh) * 2021-03-04 2021-05-18 重庆度小满优扬科技有限公司 数据访问权限的控制方法、装置以及存储介质
CN113206845B (zh) * 2021-04-28 2023-08-11 西藏宁算科技集团有限公司 网络访问控制方法、装置、计算机设备和存储介质
CN113660240B (zh) * 2021-08-11 2023-07-04 积至(海南)信息技术有限公司 一种基于联邦结构的物联网访问控制方法
CN113839949B (zh) * 2021-09-26 2023-10-24 锐捷网络股份有限公司 一种访问权限管控系统、方法、芯片及电子设备
CN114139128B (zh) * 2021-11-05 2024-03-08 苏州浪潮智能科技有限公司 一种系统资源访问方法,装置及介质
CN115085999B (zh) * 2022-06-09 2024-03-15 北京奇艺世纪科技有限公司 身份验证方法、系统、计算机设备和存储介质
CN116318914A (zh) * 2023-03-01 2023-06-23 华能信息技术有限公司 一种安全策略匹配认证方法及系统
CN117938547B (zh) * 2024-03-22 2024-06-25 恒丰银行股份有限公司 一种数据资产安全控制方法、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110177120A (zh) * 2019-06-14 2019-08-27 北京首都在线科技股份有限公司 一种单点登录的方法、装置及计算机可读存储介质
CN110933092A (zh) * 2019-12-03 2020-03-27 银清科技有限公司 一种基于jwt的单点登录实现方法及装置
CN111400676A (zh) * 2020-02-28 2020-07-10 平安国际智慧城市科技股份有限公司 基于共享权限的业务数据处理方法、装置、设备和介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247395B (zh) * 2008-03-13 2011-03-16 武汉理工大学 一种Session ID全透明传递的ISAPI访问控制系统
CN101552784A (zh) * 2009-04-30 2009-10-07 浙江大学 一种Web服务链的联合身份认证方法
CN102694867A (zh) * 2012-06-06 2012-09-26 江苏大学 一种soa中基于属性的跨安全域访问控制方法和系统
CN103685267B (zh) * 2013-12-10 2017-04-12 小米科技有限责任公司 数据访问方法及装置
US9396343B2 (en) * 2014-10-20 2016-07-19 International Business Machines Corporation Policy access control lists attached to resources
CN110198318A (zh) * 2019-06-03 2019-09-03 浪潮云信息技术有限公司 一种容器服务用户认证方法
CN110414213A (zh) * 2019-08-12 2019-11-05 浪潮云信息技术有限公司 一种基于keycloak的对运维管理系统中权限管理的方法及装置
CN110557406A (zh) * 2019-10-08 2019-12-10 浪潮软件股份有限公司 一种基于Keycloak角色权限控制系统的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110177120A (zh) * 2019-06-14 2019-08-27 北京首都在线科技股份有限公司 一种单点登录的方法、装置及计算机可读存储介质
CN110933092A (zh) * 2019-12-03 2020-03-27 银清科技有限公司 一种基于jwt的单点登录实现方法及装置
CN111400676A (zh) * 2020-02-28 2020-07-10 平安国际智慧城市科技股份有限公司 基于共享权限的业务数据处理方法、装置、设备和介质

Also Published As

Publication number Publication date
CN111800440A (zh) 2020-10-20

Similar Documents

Publication Publication Date Title
CN111800440B (zh) 多策略访问控制登录方法、装置、计算机设备及存储介质
US11057218B2 (en) Trusted internet identity
US11122028B2 (en) Control method for authentication/authorization server, resource server, and authentication/authorization system
CN105376216B (zh) 一种远程访问方法、代理服务器及客户端
US8196186B2 (en) Security architecture for peer-to-peer storage system
EP1770586B1 (en) Account management in a system and method for providing code signing services
JP5860815B2 (ja) コンピューターポリシーを施行するためのシステムおよび方法
US8340289B2 (en) System and method for providing an indication of randomness quality of random number data generated by a random data service
US20070074034A1 (en) System and method for registering entities for code signing services
US20070074033A1 (en) Account management in a system and method for providing code signing services
US10579809B2 (en) National identification number based authentication and content delivery
CN107122674A (zh) 一种应用于运维审计系统的oracle数据库的访问方法
US10263789B1 (en) Auto-generation of security certificate
CN107967185B (zh) 一种接口调用方法、装置、设备及计算机可读存储介质
CA2561608A1 (en) System and method for registering entities for code signing services
US20070074032A1 (en) Remote hash generation in a system and method for providing code signing services
CN112311769B (zh) 安全认证的方法、系统、电子设备及介质
CN111914293A (zh) 一种数据访问权限验证方法、装置、计算机设备及存储介质
EP1770588B1 (en) System and method for providing code signing services
JP6059748B2 (ja) 認証連携システム及び認証方法
KR20090054774A (ko) 분산 네트워크 환경에서의 통합 보안 관리 방법
CN112699404A (zh) 一种校验权限的方法、装置、设备及存储介质
CN113647051A (zh) 用于安全电子数据传输的系统和方法
CN112351048B (zh) 一种接口访问控制方法、装置、设备和存储介质
CA2561606C (en) Remote hash generation in a system and method for providing code signing services

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231119

Address after: Room 2601 (Unit 07), Qianhai Free Trade Building, No. 3048, Xinghai Avenue, Nanshan Street, Qianhai Shenzhen-Hong Kong Cooperation Zone, Shenzhen, Guangdong 518000

Patentee after: Shenzhen Ping An Smart Healthcare Technology Co.,Ltd.

Address before: 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000

Patentee before: Ping An International Smart City Technology Co.,Ltd.