CN111478894B - 一种外部用户授权方法、装置、设备及可读存储介质 - Google Patents
一种外部用户授权方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111478894B CN111478894B CN202010258132.XA CN202010258132A CN111478894B CN 111478894 B CN111478894 B CN 111478894B CN 202010258132 A CN202010258132 A CN 202010258132A CN 111478894 B CN111478894 B CN 111478894B
- Authority
- CN
- China
- Prior art keywords
- user
- external user
- external
- authority
- authentication server
- 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
-
- 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/104—Grouping of entities
-
- 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/105—Multiple levels of security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种外部用户授权方法、装置、设备及计算机可读存储介质;本方案所述的外部用户授权方法与本地用户授权方法相独立,从而使得外部用户和本地用户完全隔离,外部用户不受本地用户和用户组影响,在外部用户同步时,也不会影响本地用户的组织架构。并且,本申请在对外部用户授权时,可根据不同权限的优先级来确定用户的权限,实现了精细化授权的基础上,简化了用户和用户组的授权逻辑,简化运维操作。
Description
技术领域
本发明涉及用户授权技术领域,更具体地说,涉及一种外部用户授权方法、装置、设备及计算机可读存储介质。
背景技术
传统的本地用户授权方式为通过RBAC(Role-Based Access Control,基于角色的访问控制)模型进行授权,制定了用户、用户组、角色、权限的复杂模型,使得权限不仅基于角色可以直接授权给用户,同时也可以通过授权给用户组来实现批量权限覆盖和权限继承,以达到用户一旦发生职位变动等可以实现权限转移。传统的外部用户授权方式依赖于本地用户的组织架构和授权模型,通过将用户导入到本地用户组,通过新建/映射到本地用户组,建立本地用户组的授权架构,将角色关联到对应的用户组,实现用户组粒度的外部用户授权。但是,传统的外部用户授权方式,当员工入职、离职、更换部门等组织人员和架构发生变化时,由于本地组织架构不仅包含外部用户也包含本地用户(组),一旦同步则会影响本地用户的组织架构。
发明内容
本发明的目的在于提供一种外部用户授权方法、装置、设备及计算机可读存储介质,以避免用户同步时影响本地用户的组织架构。
为实现上述目的,本发明提供的一种外部用户授权方法,所述外部用户授权方法与本地用户授权方法相独立;所述外部用户授权方法包括:
接收外部用户发送的认证信息;
将所述认证信息发送至对应的外部用户认证服务器,以使所述外部用户认证服务器对所述认证信息校验后,返回对应的校验结果;
若所述校验结果为校验成功,则获取所述校验结果携带的用户属性;
查找与所述用户属性相匹配的权限,将相匹配的优先级最高的权限作为所述外部用户的权限,并进行授权处理。
其中,所述接收外部用户发送的认证信息之前,还包括:
从所述外部用户认证服务器获取外部用户信息;
根据所述外部用户信息建立外部用户和外部用户组,并将所述外部用户和所述外部用户组与所述外部用户认证服务器建立索引;
将所述外部用户认证服务器与第一权限集进行关联;将所述外部用户组与第二权限集进行关联;将所述外部用户与第三权限集进行关联;其中,所述外部用户认证服务器的权限为所有外部用户均具有的默认权限。
其中,所述查找与所述用户属性相匹配的权限,将相匹配的优先级最高的权限作为所述外部用户的权限,包括:
判断所述用户属性中的用户信息是否与所述外部用户认证服务器建立索引;若是,则利用所述第三权限集确定所述用户的权限;
若否,则判断所述用户属性中的用户组是否与所述外部用户认证服务器建立索引;若是,则利用所述第二权限集确定所述用户的权限;
若否,则直接利用所述第一权限集确定所述用户的权限;其中,所述第三权限集、所述第二权限集、所述第一权限集的权限优先级依次降低。
其中,若所述校验结果为校验失败,则所述外部用户授权方法还包括:
向所述外部用户返回验证失败的提示信息。
其中,所述外部用户授权方法还包括:
判断是否满足同步条件;
若满足,则触发同步操作,查看与所述第三权限集进行关联的外部用户的用户状态,与所述外部用户认证服务器中记载的用户状态是否一致;若用户状态不一致,则将对应的用户标记为异常状态。
其中,所述判断是否满足同步条件,包括:
判断是否满足:新建外部用户操作、新建外部用户组操作、校验结果为校验失败、到达预定更新时间中的任意一者条件;
若是,则判定满足同步条件。
为实现上述目的,本发明进一步提供一种外部用户授权装置,所述外部用户授权装置与本地用户授权装置相独立;所述外部用户授权装置包括:
接收模块,用于接收外部用户发送的认证信息;
发送模块,用于将所述认证信息发送至对应的外部用户认证服务器,以使所述外部用户认证服务器对所述认证信息校验后,返回对应的校验结果;
第一获取模块,用于在所述校验结果为校验成功时,获取所述校验结果携带的用户属性;
权限确定模块,用于查找与所述用户属性相匹配的权限,将相匹配的优先级最高的权限作为所述外部用户的权限,并进行授权处理。
其中,所述装置还包括:
第二获取模块,用于从所述外部用户认证服务器获取外部用户信息;
建立模块,用于根据所述外部用户信息建立外部用户和外部用户组,并将所述外部用户和所述外部用户组与所述外部用户认证服务器建立索引;
关联模块,用于将所述外部用户认证服务器与第一权限集进行关联;将所述外部用户组与第二权限集进行关联;将所述外部用户与第三权限集进行关联;其中,所述外部用户认证服务器的权限为所有外部用户均具有的默认权限。
为实现上述目的,本发明进一步提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的外部用户授权方法的步骤。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的外部用户授权方法的步骤。
通过以上方案可知,本发明实施例提供的一种外部用户授权方法,所述外部用户授权方法与本地用户授权方法相独立;所述外部用户授权方法包括:接收外部用户发送的认证信息;将所述认证信息发送至对应的外部用户认证服务器,以使所述外部用户认证服务器对所述认证信息校验后,返回对应的校验结果;若所述校验结果为校验成功,则获取所述校验结果携带的用户属性;查找与所述用户属性相匹配的权限,将相匹配的优先级最高的权限作为所述外部用户的权限,并进行授权处理。
可见,本方案所述的外部用户授权方法与本地用户授权方法相独立,从而使得外部用户和本地用户完全隔离,外部用户不受本地用户和用户组影响,在外部用户同步时,也不会影响本地用户的组织架构。并且,本申请在对外部用户授权时,可根据不同权限的优先级来确定用户的权限,实现了精细化授权的基础上,简化了用户和用户组的授权逻辑,简化运维操作。
本发明还公开了一种外部用户授权装置、设备及计算机可读存储介质,同样能实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本发明实施例公开的本地用户授权流程示意图;
图1b为本发明实施例公开的外部用户授权示意图;
图2为本发明实施例公开的一种外部用户授权系统结构示意图;
图3为本发明实施例公开的一种外部用户授权方法流程示意图;
图4为本发明实施例公开的一种外部用户及本地用户授权模型示意图;
图5a为本发明实施例公开的外部用户授权建立流程图;
图5b为本发明实施例公开的授权查看流程示意图;
图5c为本发明实施例公开的授权失败流程图;
图5d为本发明实施例公开的授权成功流程图;
图5e为本发明实施例公开的一种自动同步流程图;
图6为本发明实施例公开的一种外部用户授权装置结构示意图;
图7为本发明实施例公开的一种电子设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请中的本地用户为存储在本地的用户,而外部用户则为:外部数据库/ldap(Lightweight Directory Access Protocol,轻型目录访问协议)服务器/ad服务器(Active Directory,目录服务器)/radius(Remote Authentication Dial In UserService,远程用户拨号认证服务)服务器等外部用户认证和管理服务器已经在管理的用户。参见图1a,为现有方案中本地用户授权流程示意图,参见图1b,为现有方案中外部用户授权示意图;通过图1a可以看出,在现有方案中,用户可以继承用户组的权限,但是,多级继承会带来很复杂的权限管理问题。比如user1属于用户组A,用户组A属于用户组B,多层嵌套下,user1的授权很难区分到底继承哪个父组的,且一旦要对user1的权限进行变更,需要溯源到权限对应的父组进行变更,影响面大,管理困难。
通过图1b可以看出,现有方案中,对于外部user1,只能通过以下方式实现在本地进行权限管理:
1、在本地新建一个外部用户组,对该用户组进行授权管理后,通过用户导入,从已配置的外部认证服务器里所有用户的权限管理映射到该组。此时外部用户组内没有用户信息,是个空壳,用途就是做映射。映射到本地已有的用户组,原理相同。可以看出,这种外部用户授权方式,在用户导入时,并不能对某几个外部用户做精细化处理,只能建立映射关系。
2、在进行认证服务器配置时,便配置映射规则:基于用户组映射/基于角色映射,并配置用户组/角色在外部认证服务器的字段。此时会去遍历本地的用户组/角色的名字和外部传进来的字段是否重名,如果重名就以第一个相同的用户组/角色来建立映射关系。
综上可以看出,现有方案存在的上述几种机制下,会带来几个问题:
1.没有任何有效途径对外部用户user1进行精细化的权限管控;没有任何方式可以对外部用户进行权限可视化管控。(映射关系隐藏在用户导入和映射规则配置中)。
2.将外部用户通过用户组/角色进行映射时,一旦进行同步,外部用户和本地的组织架构可能会出现不匹配、对不上的情况。因此同步时要么调整本地用户的组织架构进行匹配,要么重新建立映射关系;并且,由于是按组/角色映射,人员的入职离职无法进行同步;且换部门、换岗位这种场景下,单个用户的变化无法感知,映射关系无法同步进行更新。
因此,在本申请中,公开了一种外部用户授权方法、装置、设备及计算机可读存储介质,以避免用户同步时影响本地用户的组织架构,实现外部用户的精细化授权以及权限的可视化管控。为了便于理解,下面对本申请的技术方案所适用的系统架构进行介绍,参见图2,为本发明实施例公开的一种外部用户授权系统结构示意图;通过该图可以看出,该系统具体包括用户终端11、电子设备12和外部用户认证服务器13。
其中,该用户终端11用于向电子设备12发起认证信息,并接收电子设备12调用外部用户认证服务器13对认证信息验证的结果,如果验证失败,电子设备12会向用户终端11反馈验证失败的提示信息;如果验证成功,则电子设备12会查找与该用户对应的权限进行下发。具体来说,该用户终端11可以为PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等终端设备。
该电子设备12具体是对外部用户进行权限下发的设备,可以为电脑、服务器等电子设备。具体来说:电子设备12基于外部用户授权模型实现对外部用户的授权,并且,该外部用户授权模型执行的外部用户授权方法与本地用户授权模型执行的本地用户授权方法相独立,通过这种方式,可使得外部用户和本地用户完全隔离,外部用户不受本地用户和用户组影响,在外部用户同步时,也不会影响本地用户的组织架构。进一步,电子设备12在实现外部用户授权方法时,具体包括:接收用户终端11发起的认证信息;将所述认证信息发送至对应的外部用户认证服务器,以使所述外部用户认证服务器对所述认证信息校验后,返回对应的校验结果;若所述校验结果为校验成功,则获取所述校验结果携带的用户属性;查找与所述用户属性相匹配的权限,将相匹配的优先级最高的权限作为所述外部用户的权限,并进行授权处理。可见,本申请在对外部用户授权时,可根据用户不同权限的优先级来确定用户的权限,在实现了精细化授权的基础上,简化了用户和用户组的授权逻辑,简化运维操作。
该外部用户认证服务器13中存储了不同外部用户的各种用户属性信息,如:用户名、用户组、角色、职位、手机号码、邮箱等等。由于该用户为外部用户,本地中没有外部用户的具体信息,因此,电子设备12需要将认证信息发送至外部用户认证服务器13进行验证,若验证失败,则返回验证失败的提示信息,如果验证成功,则需要将该外部用户的用户属性返回给电子设备12,以便电子设备12根据该用户属性来对该外部用户的权限进行确定。
参见图3,为本发明实施例公开的一种外部用户授权方法流程示意图;该外部用户授权方法与本地用户授权方法相独立;具体的,该外部用户授权方法包括:
S101、接收外部用户发送的认证信息;
在本申请中,执行该外部用户授权方法的主体为上述外部用户授权系统中的电子设备。在本申请中,以该电子设备为控制平台为例对本方案进行说明,也即:本方案通过控制平台接收外部用户发送的认证信息。具体来说,外部用户访问业务系统时需要发送认证信息,通过该认证信息来判断该用户是否具有访问业务系统的权限;在用户访问业务系统之前,需要通过用户名和密码进行注册。注册之后,外部用户便可通过该用户名和密码进行登录,从而生成认证信息发送至控制平台,以通过控制平台将该认证信息发送至外部用户认证服务器进行验证。
S102、将认证信息发送至对应的外部用户认证服务器,以使外部用户认证服务器对认证信息校验后,返回对应的校验结果;
具体来说,由于本地不存储外部用户的相关信息,因此控制平台接收到该认证信息后,需要将该认证信息发送至对应的外部用户认证服务器,通过该对应的外部用户认证服务器进行验证,如:验证认证信息中的用户名是否正确,验证与该用户名对应的密码是否正确等等,只有对该认证信息内的所有信息均验证成功后,才可判定对该认证信息验证成功,否则,验证失败。
需要说明的是,一个企业具有多套账号体系,每套账号体系对应不同的业务系统访问权限,而对于每个业务系统访问权限来说,均具有对应的认证服务器,因此控制平台接收到外部用户发送的认证信息后,需要将该认证信息发送至对应的外部用户认证服务器,通过对应的外部用户认证服务器进行验证。外部用户认证服务器接收到认证信息后,需要验证认证信息中的用户名、密码等信息是否正确,并返回对应的校验结果。如果认证信息正确,则返回的校验结果为验证成功,否则,返回的校验结果为校验失败。
S103、若校验结果为校验失败,则向外部用户返回验证失败的提示信息;
S104、若校验结果为校验成功,则获取校验结果携带的用户属性;
需要说明的是,如果该校验结果为校验失败,则控制平台接收到校验结果后,会将该校验失败的结果发送至用户终端,以通知用户验证失败;如果校验结果为校验成功,则需要执行后续的权限下发的步骤。并且,如果外部用户认证服务器对认证信息校验成功,则需要将与该外部用户对应的用户属性发送至控制平台,该用户属性可以为:用户名、用户组、角色、职位、手机号码、邮箱等等的任意组合或其中之一。在本申请中,控制平台可以根据该用户属性,查找与该外部用户对应的权限。
S105、查找与用户属性相匹配的权限,将相匹配的优先级最高的权限作为所述外部用户的权限,并进行授权处理。
需要说明的是,本方案中每个外部用户可具有多种权限,例如:每个外部用户均具有的默认权限,与该外部用户所在用户组的用户组权限,与该用户对应的用户权限等等。在本实施例中,仅以默认权限、用户组权限和用户权限这三种权限为例对本方案进行说明,但并不局限于此。为了简化用户和用户组的授权逻辑,简化运维操作,本方案需要预先设置各个权限的优先级,因此,控制平台通过用户属性查找相匹配的权限之后,可以将优先级最高的权限作为该外部用户的权限。例如:可设定默认权限的优先级小于用户组权限的优先级也小于用户权限的优先级,因此,若用户具有上述三种权限,则以用户权限为准。
综上可以看出,在本申请中,本地用户和外部用户完全分离,因此执行同步操作时,可不受本地用户组织结构的束缚;并且,本申请抛弃用户组的继承逻辑,通过设定权限优先级的方式,简化用户和用户组的授权逻辑,解决外部用户同步变更时的权限跟随问题。
基于上述实施例,在本实施例中,本方案接收外部用户发送的认证信息之前,需要预先建立外部用户的权限,该过程具体包括:
从所述外部用户认证服务器获取外部用户信息;
根据所述外部用户信息建立外部用户和外部用户组,并将所述外部用户和所述外部用户组与所述外部用户认证服务器建立索引;
将所述外部用户认证服务器与第一权限集进行关联;将所述外部用户组与第二权限集进行关联;将所述外部用户与第三权限集进行关联;其中,所述外部用户认证服务器的权限为所有外部用户均具有的默认权限。
需要说明的是,在本实施例中,外部用户的权限具有三种:第一种为认证服务器的默认权限,该默认权限为所有外部用户均具有的权限;第二种为用户组权限,若用户属于该用户组,则该用户具有该用户组的权限;第三种为用户权限,也即:如果该用户除了上述的默认权限和用户组权限之外,为了满足用户的精细化授权需求,可设置该用户的用户权限,并且,上述三种权限的优先级顺序为:默认权限的优先级小于用户组权限的优先级小于用户权限的优先级,在此,对本方案的具体设置过程进行具体说明。其中,该权限集是指给用户授权的权限的合集,如关联了哪些应用和角色等。
参见图4,为本发明实施例提供的一种外部用户及本地用户授权模型示意图;通过该图可以看出,本方案中的外部用户授权模型和本地用户授权模型相互独立,此处的本地用户授权模型与现有方案的实现方式相同,在此便不具体说明,主要对外部用户授权模型进行说明。基于图4中的外部用户授权模型,对本方案所涉及的三种场景进行具体说明:
场景一:基于认证服务器授权及对应结果:
若企业A有多套账号体系,每套账号体系对应不同的业务系统访问权限,比如:外包人员(即内部合作方)用一套账号体系,内部人员用另外一套账号体系,供应商又用另外一套账号体系,其中,外包人员使用外部认证服务器1接入;内部人员使用外部认证服务器2接入;供应商人员使用外部认证服务器3接入。如:企业A对接内部合作方账号体系对应的外部用户认证服务器1,在该外部用户认证服务器1的默认授权上,关联角色1,基于角色授权第一权限集,实现所有的合作方都对应统一的默认授权集。也即:通过这种将外部用户认证服务器与第一权限集进行关联的方式,可以实现该外部用户认证服务器认证的外部用户,都具有该默认权限。
场景二:基于外部用户组授权及对应结果:
若企业A的内部人员账号体系中,需要对用户组进行分开授权,具体需求如下:研发组有对应的特殊的权限集和角色,而其他人员使用服务器的默认授权即可满足办公需求。则具体操作如下:
1、新建外部用户认证服务器2,配置该外部用户认证服务2的默认权限为办公权限集1,配置后认证服务器2的所有人员都用办公权限集1访问。
2、新建外部用户组授权,搜索该内部人员账户体系中的研发组,并关联办公权限集1和研发特殊权限集2。此时所有的研发人员访问时的权限和其他普通办公人员就不一样了,研发组内的研发人员具有研发特殊权限集2内的权限和办公权限集1的权限,而普通办公人员只有办公权限集1的权限。
场景三:基于外部用户精细化授权及对应结果
企业A的研发人员user1,需要关联更多特殊的权限集。于是新建外部用户的精细化授权,搜索user1,并关联对应的研发角色和办公角色后,还需要关联更多所需的角色以实现更高的权限。此时user1访问时的权限和研发人员小A和普通办公人员小B就都不一样了。
也就是说,在本方案中,第一权限集为外部用户认证服务器本身配置的权限,为认证服务器本身的权限,可以实现整个认证服务器对应的所有人员的默认权限集,不需要导入用户/用户组来进行更细致的权限管理。第二权限集为外部用户组配置的权限,即:用户在默认的认证服务器的第一权限集不满足某些用户组所需要的权限时,可以通过导入用户组,并对用户组的权限配置第二权限集,实现用户组的精细化授权。第三权限集为外部用户配置的权限,若用户组还不能满足所需要的权限,可通过导入具体的用户,为该用户配置第三权限集,从而实现了用户的精细化授权。三个权限的优先级:第一权限集<第二权限集<第三权限集。
参见图5a,为本发明实施例提供的外部用户授权建立流程图,参见图5b,为本发明实施例提供的授权查看流程示意图;可以看出,管理员在新建认证服务器时,需要校验用户认证和管理接口是否有效,同时要求配置认证服务器粒度的默认授权。具体来说,在验证接口是否有效时,控制平台会对该接口发起获取用户信息的请求,如果该接口返回数据,则说明该接口有效,若没有数据返回,则说明接口配置无效。然后配置该外部用户认证服务器里的所有人的默认权限,即上述的第一权限集。然后调用用户管理接口搜索用户/用户组,并根据搜索结果建立与外部用户认证服务器的索引,建立用户组和第二权限集的关联关系,建立用户和第三权限集的关联关系,并将对应的用户、用户组、索引建立结果等基本属性保存至本地数据表,方便下次直接读取展示和维护。进一步,管理员可以通过控制平台查看本地数据表中存储的用户/用户组基本属性。需要说明的是,本方案在授权时,提供了批量权限操作,也即:本方案可选中一批相同权限的用户,进行批量相同的授权配置,从而通过批量编辑来解决批量授权的问题,提高授权速度。
基于上述实施例,在本实施例中,所述查找与所述用户属性相匹配的权限,将相匹配的优先级最高的权限作为所述外部用户的权限的过程,具体包括如下步骤:
判断所述用户属性中的用户信息是否与所述外部用户认证服务器建立索引;若是,则利用所述第三权限集确定所述用户的权限;
若否,则判断所述用户属性中的用户组是否与所述外部用户认证服务器建立索引;若是,则利用所述第二权限集确定所述用户的权限;
若否,则直接利用所述第一权限集确定所述用户的权限;其中,所述第三权限集、所述第二权限集、所述第一权限集的权限优先级依次降低。
参见图5c,为本发明实施例提供的授权失败流程图,通过该图可以看出,如果外部用户认证服务器校验信息后,得到的校验结果校验失败,则控制平台会向该用户反馈验证失败的提示信息。参见图5d,为本发明实施例提供的授权成功流程图,通过该图可看出,如果校验成功,则将用户属性一同返回,以便控制平台进行权限的确定。
可以理解的是,在本方案中,各权限集的优先级顺序为:第一权限集<第二权限集<第三权限集,因此本方案在确定用户的权限时,可先判断用户是否具有最高优先级的权限,如果具有,则不需要再与其他权限进行比对;如果没有,则判断该用户是否具有下一优先级的权限,以此类推,直至找到该用户所具有的权限位置。具体来说:终端用户发起认证时,当认证通过后开始下发权限集,此时优先检查返回的用户属性中的用户信息是否建立了对应用户索引,如果建立了索引,则代表具有用户精细化授权,若没有,则再继续检查返回的用户属性中的用户组是否建立了索引,如果建立了索引,则代表具有用户组的精细化授权,若没有,则直接检索认证服务器的默认授权。例如:通过图5d可以看出,若外部用户认证服务器认证成功后,向控制平台返回的用户属性包括:该外部用户的名字为user1,属于group1,此时,控制平台会先检查在基于用户授权的表里是否存在user1,如果有,就反馈user1关联的权限集;如果没有,就检查在基于用户组授权的表里有没有group1,如果有,就基于group1关联的权限集授权;如果没有,就使用认证服务器的默认授权。
综上可见,本方案通过建立外部组织架构,定义外部组织权限的优先级:认证服务器本来的权限<用户组权限<用户自身权限,来实现优先用户自身的特色权限,如果没有用户精细化权限,使用用户组权限,以此类推,来保障用户如果用户组发生变化,权限也能跟随改变。如:user1具有默认权限、用户组权限和用户权限,如果user1调岗了,从特殊研发人员调整为普通研发人员,此时只需要将user1的个人精细化授权删除即可降低权限,此时user1仅具有默认权限、用户组权限。若研发人员小A具有默认权限和用户组权限,此时研发人员小A调岗了,从特殊开发人员变为普通办公人员,由于此时小A不属于研发组的人员,因此小A登陆时,将不具有研发组的用户组权限,只具有默认权限,而该默认权限是预先设定的,因此在小A调岗后,不需要进行任何操作,小A登录后便会自动继承办公人员该有的权限,自动实现权限跟随和转移。
可以看出,本方案对外部用户做精细化授权,只需要将需要精细化的部分用户/用户组的索引和本地授权建立映射关系,解决大批量导入本地的问题。并且,由于只是建立索引,真正的用户还是在外部,当存在员工入职时若不需要精细化则采用默认授权,管理员无需处理,减少了维护工作量。
基于上述实施例,在本实施例中,该外部用户授权方法还包括:
判断是否满足:新建外部用户操作、新建外部用户组操作、校验结果为校验失败、到达预定更新时间中的任意一者条件;
若是,则判定满足同步条件,触发同步操作,查看与所述第三权限集进行关联的外部用户的用户状态,与所述外部用户认证服务器中记载的用户状态是否一致;若用户状态不一致,则将对应的用户标记为异常状态。
参见图5e,为本发明实施例公开的一种自动同步流程图;通过该图可以看出,本方案会由于各个原因触发同步更新操作,例如:新建同步:在新建用户/用户组时触发同步操作;异常同步:在校验结果为校验失败时触发同步操作;定期同步:在达到预定时间周期时触发同步操作。可以看出,本方案具有很多触发自动同步的节点,完全可满足同步需求,基本不需要手动同步,但是,本方案还是支持手动同步,此时需要管理员主动触发同步操作。
触发同步操作后,需要调用管理接口查询外部认证服务器的用户列表,将外部认证服务器的所有用户状态遍历一遍,和当前已经配置的外部用户的表进行对比,若当前配置的表里有,而同步时获取的数据里没有,就会在当前的表里标记该用户为异常用户。通过这种方式,可以在员工离职时,自动将该用户标记为异常用户。例如:若user1具有用户权限,若user1离职了,此时控制平台会在被动同步和主动定期同步时,将user1的状态标记为异常。管理员可以筛选异常用户将冗余账号删除。即使不删除,user1也无法通过访问网关的认证,因此无法访问业务系统,无法对服务器造成影响。
综合上述实施例可以看出,本方案中的本地用户与外部用户完全隔离,外部用户不受本地用户和用户组影响,同时也无需手动同步,授权随外部变化而同步变化。解决了传统的外部用户批量导入本地管理,以及外部用户难授权,难运维,难同步,不灵活的授权模型。在此,通过与现有方案的对比,对本方案所实现的有益效果进行具体说明:
1、本地用户和外部用户完全分离,不受本地用户组织结构的束缚,解决大批量导入本地的问题。
现有方案:一定要将外部用户直接导入到本地的某个用户组内,基于用户组为这批用户进行授权。导入失误率和体验影响大,对于大量用户的情况增大负荷。
本方案:只是建立索引,真正的用户还是在外部,当存在员工入职时若不需要精细化则采用默认授权,管理员无需处理。建立与外部用户的索引,只有授权的映射关系,且与本地用户无关。组织架构依然取自于外部用户的组织架构,只需要维护一套账号体系和权限对应关系,简单无负担。
2、抛弃用户组的继承逻辑,简化用户和用户组的授权逻辑,通过批量编辑来解决批量授权的问题,通过定义授权优先级问题来解决外部用户同步变更时的权限跟随问题。
现有方案:用户组的权限才是用户的第一继承权限,有直接继承和间接继承,向上继承和向上向下继承等各种组合和排列,且用户组支持多级继承。此时管理员完全无法感知某个用户最终的权限来自于哪里,是否可更改。
本方案:用户组的权限和用户的权限是分开的,用户>用户组,定义了优先级后,权限模型简单化,且容易运维。
具体来说,在现有方案中,外部用户的权限是通过映射到本地用户去管理的。而本地用户又有复杂的继承关系。没有途径可以看到外部用户user1到底属于哪个组,使用哪个权限集,这个权限集继承自哪里,是否可以改动。而在本方案中:1.外部用户和本地用户分离,不耦合。外部用户权限就在外部用户处对应的认证服务器下管理。管理的粒度从一张大的本地用户表,细化到每个认证服务器,更清晰。2.外部用户的授权机制按三层划分,第一层认证服务器本身的权限,第二层用户组权限,第三层用户级别的权限。实现了精细化授权,可清楚的知道一个外部用户对应的权限集是什么,也可以直接修改。
3、无需手动同步,天然支持员工职场周期的权限变动配置,解决同步难的问题。
现有方案:当发生离职/调岗时,调整外部组织结构无法直接同步到授权模型,以为外部用户已经导入到本地组织架构了。需要重新维护和手动同步以和外部保持一致。
本方案:当发生离职时,已经建立映射的用户检测到后,可自动检测并标记为异常(不可用),管理员可过滤删除也可不处理此类冗余用户;当发生组织架构变化时,即user从A部门换到B部门,该用户认证后发现用户组为B,可直接继承用户组B的权限(以前配置的),不需要管理员处理。
具体来说,如果user1没有将权限关联在用户粒度级别,而是用户组级别,那么user1在登录时,发现用户授权表无user1,就会去找user1的用户组部门A,让user1用部门A的授权。如果user1换成部门B了,那就会去找有没有部门B的授权集,有就用部门B的权限集,没有就直接认证服务器的默认授权集。如果user1将权限关联在用户粒度级别,由于用户粒度的权限优先级比用户组粒度的权限优先级高,因此,就算user1更换部门,对其用户粒度的权限也不会造成影响,从而实现了权限跟着用户走的效果。
下面对本发明实施例提供的外部用户授权装置进行介绍,下文描述的外部用户授权装置与上文描述的外部用户授权装置可以相互参照。
参见图6,本发明实施例提供的一种外部用户授权装置结构示意图;所述外部用户授权装置与本地用户授权装置相独立;所述外部用户授权装置包括:
接收模块21,用于接收外部用户发送的认证信息;
发送模块22,用于将所述认证信息发送至对应的外部用户认证服务器,以使所述外部用户认证服务器对所述认证信息校验后,返回对应的校验结果;
第一获取模块23,用于在所述校验结果为校验成功时,获取所述校验结果携带的用户属性;
权限确定模块24,用于查找与所述用户属性相匹配的权限,将相匹配的优先级最高的权限作为所述外部用户的权限,并进行授权处理。
其中,本装置还包括:
第二获取模块,用于从所述外部用户认证服务器获取外部用户信息;
建立模块,用于根据所述外部用户信息建立外部用户和外部用户组,并将所述外部用户和所述外部用户组与所述外部用户认证服务器建立索引;
关联模块,用于将所述外部用户认证服务器与第一权限集进行关联;将所述外部用户组与第二权限集进行关联;将所述外部用户与第三权限集进行关联;其中,所述外部用户认证服务器的权限为所有外部用户均具有的默认权限。
其中,所述权限确定模块包括:
第一判断单元,用于判断所述用户属性中的用户信息是否与所述外部用户认证服务器建立索引;
第一建立单元,用于在所述用户属性中的用户信息与所述外部用户认证服务器建立索引时,利用所述第三权限集确定所述用户的权限;
第二判断单元,用于在所述用户属性中的用户信息与所述外部用户认证服务器未建立索引时,判断所述用户属性中的用户组是否与所述外部用户认证服务器建立索引;
第二建立单元,用于在所述用户属性中的用户组与所述外部用户认证服务器建立索引时,利用所述第二权限集确定所述用户的权限;
第三判断单元,用于在所述用户属性中的用户组与所述外部用户认证服务器未建立索引时,直接利用所述第一权限集确定所述用户的权限;其中,所述第三权限集、所述第二权限集、所述第一权限集的权限优先级依次降低。
其中,本装置还包括:
提示模块,用于向所述外部用户返回验证失败的提示信息。
其中,本装置还包括:
判断模块,用于判断是否满足同步条件;
若满足,则触发同步模块;
所述同步模块,具体用于执行同步操作:查看与所述第三权限集进行关联的外部用户的用户状态,与所述外部用户认证服务器中记载的用户状态是否一致;;若用户状态不一致,则将对应的用户标记为异常状态。
其中,所述判断模块具体用于:判断是否满足:新建外部用户操作、新建外部用户组操作、校验结果为校验失败、到达预定更新时间中的任意一者条件;若是,则判定满足同步条件。
参见图7,为本发明实施例公开的一种电子设备结构示意图;该设备包括:
存储器31,用于存储计算机程序;
处理器32,用于执行所述计算机程序时实现如上述任意方法实施例所述的外部用户授权方法的步骤。
在本实施例中,该设备可以是服务器或者PC(Personal Computer,个人电脑)等终端设备。
该设备可以包括存储器31、处理器32和总线33。
其中,存储器31包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序,该存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器32在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,为网关设备提供计算和控制能力,执行所述存储器31中保存的计算机程序时,可以实现前述任一实施例公开的外部用户授权方法的步骤。
该总线33可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,设备还可以包括网络接口34,网络接口34可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备与其他电子设备之间建立通信连接。
图7仅示出了具有组件31-34的设备,本领域技术人员可以理解的是,图7示出的结构并不构成对设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例还公开一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意方法实施例所述的外部用户授权方法的步骤。
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种外部用户授权方法,其特征在于,所述外部用户授权方法与本地用户授权方法相独立;所述外部用户授权方法包括:
接收外部用户发送的认证信息;
将所述认证信息发送至对应的外部用户认证服务器,以使所述外部用户认证服务器对所述认证信息校验后,返回对应的校验结果;
若所述校验结果为校验成功,则获取所述校验结果携带的用户属性;
查找与所述用户属性相匹配的权限,将相匹配的优先级最高的权限作为所述外部用户的权限,并进行授权处理;
其中,所述接收外部用户发送的认证信息之前,还包括:
从所述外部用户认证服务器获取外部用户信息;
根据所述外部用户信息建立外部用户和外部用户组,并将所述外部用户和所述外部用户组与所述外部用户认证服务器建立索引;
将所述外部用户认证服务器与第一权限集进行关联;将所述外部用户组与第二权限集进行关联;将所述外部用户与第三权限集进行关联;其中,所述外部用户认证服务器的权限为所有外部用户均具有的默认权限。
2.根据权利要求1所述的外部用户授权方法,其特征在于,所述查找与所述用户属性相匹配的权限,将相匹配的优先级最高的权限作为所述外部用户的权限,包括:
判断所述用户属性中的用户信息是否与所述外部用户认证服务器建立索引;若是,则利用所述第三权限集确定所述用户的权限;
若否,则判断所述用户属性中的用户组是否与所述外部用户认证服务器建立索引;若是,则利用所述第二权限集确定所述用户的权限;
若否,则直接利用所述第一权限集确定所述用户的权限;其中,所述第三权限集、所述第二权限集、所述第一权限集的权限优先级依次降低。
3.根据权利要求1所述的外部用户授权方法,其特征在于,若所述校验结果为校验失败,则所述外部用户授权方法还包括:
向所述外部用户返回验证失败的提示信息。
4.根据权利要求1或2所述的外部用户授权方法,其特征在于,所述外部用户授权方法还包括:
判断是否满足同步条件;
若满足,则触发同步操作,查看与所述第三权限集进行关联的外部用户的用户状态,与所述外部用户认证服务器中记载的用户状态是否一致;若用户状态不一致,则将对应的用户标记为异常状态。
5.根据权利要求4所述的外部用户授权方法,其特征在于,所述判断是否满足同步条件,包括:
判断是否满足:新建外部用户操作、新建外部用户组操作、校验结果为校验失败、到达预定更新时间中的任意一者条件;
若是,则判定满足同步条件。
6.一种外部用户授权装置,其特征在于,所述外部用户授权装置与本地用户授权装置相独立;所述外部用户授权装置包括:
接收模块,用于接收外部用户发送的认证信息;
发送模块,用于将所述认证信息发送至对应的外部用户认证服务器,以使所述外部用户认证服务器对所述认证信息校验后,返回对应的校验结果;
第一获取模块,用于在所述校验结果为校验成功时,获取所述校验结果携带的用户属性;
权限确定模块,用于查找与所述用户属性相匹配的权限,将相匹配的优先级最高的权限作为所述外部用户的权限,并进行授权处理;
第二获取模块,用于从所述外部用户认证服务器获取外部用户信息;
建立模块,用于根据所述外部用户信息建立外部用户和外部用户组,并将所述外部用户和所述外部用户组与所述外部用户认证服务器建立索引;
关联模块,用于将所述外部用户认证服务器与第一权限集进行关联;将所述外部用户组与第二权限集进行关联;将所述外部用户与第三权限集进行关联;其中,所述外部用户认证服务器的权限为所有外部用户均具有的默认权限。
7.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的外部用户授权方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的外部用户授权方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010258132.XA CN111478894B (zh) | 2020-04-03 | 2020-04-03 | 一种外部用户授权方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010258132.XA CN111478894B (zh) | 2020-04-03 | 2020-04-03 | 一种外部用户授权方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111478894A CN111478894A (zh) | 2020-07-31 |
CN111478894B true CN111478894B (zh) | 2022-11-22 |
Family
ID=71749755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010258132.XA Active CN111478894B (zh) | 2020-04-03 | 2020-04-03 | 一种外部用户授权方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111478894B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765648B (zh) * | 2020-12-29 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 一种文档处理方法、装置、设备及存储介质 |
CN113839949B (zh) * | 2021-09-26 | 2023-10-24 | 锐捷网络股份有限公司 | 一种访问权限管控系统、方法、芯片及电子设备 |
CN113923054B (zh) * | 2021-12-10 | 2022-03-15 | 中国电子科技集团公司第二十八研究所 | 一种面向分级边缘用户的认证授权统一管控方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580213A (zh) * | 2015-01-08 | 2015-04-29 | 网神信息技术(北京)股份有限公司 | 认证授权方法和装置 |
CN106301940A (zh) * | 2016-08-25 | 2017-01-04 | 厦门易灵网络科技有限公司 | 一种权限配置方法 |
CN106452814A (zh) * | 2015-08-10 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 一种采用外部账户操作资源的方法和装置 |
CN108462710A (zh) * | 2018-03-20 | 2018-08-28 | 新华三技术有限公司 | 认证授权方法、装置、认证服务器及机器可读存储介质 |
CN109670768A (zh) * | 2018-09-27 | 2019-04-23 | 深圳壹账通智能科技有限公司 | 多业务域的权限管理方法、装置、平台及可读存储介质 |
CN109889517A (zh) * | 2019-02-14 | 2019-06-14 | 广州小鹏汽车科技有限公司 | 数据处理方法、权限数据集创建方法、装置及电子设备 |
CN110582769A (zh) * | 2019-07-11 | 2019-12-17 | 深圳市鹰硕技术有限公司 | 一种单账号多身份登录方法、装置、服务器及存储介质 |
-
2020
- 2020-04-03 CN CN202010258132.XA patent/CN111478894B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580213A (zh) * | 2015-01-08 | 2015-04-29 | 网神信息技术(北京)股份有限公司 | 认证授权方法和装置 |
CN106452814A (zh) * | 2015-08-10 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 一种采用外部账户操作资源的方法和装置 |
CN106301940A (zh) * | 2016-08-25 | 2017-01-04 | 厦门易灵网络科技有限公司 | 一种权限配置方法 |
CN108462710A (zh) * | 2018-03-20 | 2018-08-28 | 新华三技术有限公司 | 认证授权方法、装置、认证服务器及机器可读存储介质 |
CN109670768A (zh) * | 2018-09-27 | 2019-04-23 | 深圳壹账通智能科技有限公司 | 多业务域的权限管理方法、装置、平台及可读存储介质 |
CN109889517A (zh) * | 2019-02-14 | 2019-06-14 | 广州小鹏汽车科技有限公司 | 数据处理方法、权限数据集创建方法、装置及电子设备 |
CN110582769A (zh) * | 2019-07-11 | 2019-12-17 | 深圳市鹰硕技术有限公司 | 一种单账号多身份登录方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111478894A (zh) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11132454B2 (en) | Devices with profile-based operating mode controls | |
US9460480B2 (en) | Integrated real estate showing scheduling and key management system | |
CN106134143B (zh) | 用于动态网络接入管理的方法、设备和系统 | |
CN109600306B (zh) | 创建会话的方法、装置和存储介质 | |
CN111478894B (zh) | 一种外部用户授权方法、装置、设备及可读存储介质 | |
TWI412261B (zh) | 根據存取權提供服務的方法 | |
CN104025539B (zh) | 促进单点登录服务的方法和装置 | |
WO2020147605A1 (zh) | 在线诊断平台、其权限管理方法及权限管理系统 | |
WO2017206696A1 (zh) | 联系方式处理方法及装置、存储介质 | |
WO2021013033A1 (zh) | 文件操作方法、装置、设备、系统及计算机可读存储介质 | |
AU2017275376B2 (en) | Method and apparatus for issuing a credential for an incident area network | |
US8903060B2 (en) | Individual location tracking in detention environments | |
TW201349133A (zh) | 雲端控制門禁管理系統及其認證方法 | |
US9251331B2 (en) | Simplified user registration | |
US11444950B2 (en) | Automated verification of authenticated users accessing a physical resource | |
CA3032876A1 (en) | System for managing jointly accessible data | |
CN107566375B (zh) | 访问控制方法和装置 | |
JP6091450B2 (ja) | 情報処理装置及び情報処理方法及びプログラム | |
WO2023280009A1 (zh) | 访问控制方法及装置、设备、存储介质 | |
CN116743472A (zh) | 一种资源访问方法、装置、设备及介质 | |
KR100845309B1 (ko) | 콘텐츠의 접근 권한 제어 방법 및 장치 | |
CN116390096A (zh) | 移动热点接入方法、装置、设备及存储介质 | |
JP2008187479A (ja) | データ管理サーバ、データ管理方法およびプログラム | |
JP6237870B2 (ja) | 情報処理装置、端末装置及びプログラム | |
US12072876B2 (en) | Connecting real-time data sets to historical data |
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 |