CN115174186A - 通讯录可见性的处理方法、装置、设备及介质 - Google Patents

通讯录可见性的处理方法、装置、设备及介质 Download PDF

Info

Publication number
CN115174186A
CN115174186A CN202210760062.7A CN202210760062A CN115174186A CN 115174186 A CN115174186 A CN 115174186A CN 202210760062 A CN202210760062 A CN 202210760062A CN 115174186 A CN115174186 A CN 115174186A
Authority
CN
China
Prior art keywords
user
attribute
main body
white list
visibility
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
CN202210760062.7A
Other languages
English (en)
Other versions
CN115174186B (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.)
Jingdong City Beijing Digital Technology Co Ltd
Original Assignee
Jingdong City Beijing Digital 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 Jingdong City Beijing Digital Technology Co Ltd filed Critical Jingdong City Beijing Digital Technology Co Ltd
Priority to CN202210760062.7A priority Critical patent/CN115174186B/zh
Publication of CN115174186A publication Critical patent/CN115174186A/zh
Application granted granted Critical
Publication of CN115174186B publication Critical patent/CN115174186B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及计算机技术领域,尤其涉及一种通讯录可见性的处理方法、装置、设备及介质。本申请实施例提供的通讯录可见性的处理方法、装置、设备及介质,在接收到信息查询请求后,根据其中的用户标识获取到用户所属集合对应的权限规则,再根据权限规则确定黑白名单集合,结合每个类型集合对应的权限规则的优先级,确定出用户的可见性集合。进而可根据用户的可见性集合,向终端设备返回用户想要查询的信息,以便用户查看。本方案通过在计算可见性集合时,使用黑名单和白名单组合处理的方式,提高了权限配置的灵活性,应用场景更加广泛。

Description

通讯录可见性的处理方法、装置、设备及介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种通讯录可见性的处理方法、装置、设备及介质。
背景技术
随着科技的迅速发展,通讯录的存在形式已经由原来的纸质,发展到电子形式,通讯录中的信息也越来越丰富,包括:姓名、手机号码、家庭住址、职务、所在部门等。通讯录在组织的即时通讯(Instant Messaging,简称:IM)系统中使用较多,用户可通过组织的通讯录查看其他用户的通讯录信息。组织通讯录的可见性是指用户进行通讯录检索、查看组织的通讯录时候,是否有权限查看到其他用户,以及在有权限查看到其他用户时,根据用户的权限可以通讯录中的哪些信息。
现有技术中,在对用户授权时,通常会在三个方面进行授权,包括:组织、角色和标签,使用的授权方式是可见方式授权。对组织中的每个部门设置权限,例如:本部门员工可见本部门员工;对每个角色设置权限,例如:本角色中所有员工可见所有人的职务;对每个标签设置权限,例如:本标签中所有员工可见角色B中的所有人。在用户进行通讯录检索或查看组织的通讯录时候,服务器会根据该用户在三个方面的权限获取到相应的白名单集合,进而得到该用户的可见性集合,根据可见性集合将该用户有权限查看信息返回至终端供用户查看。然而,这种方式中,对于针对某个用户不可见,针对某些信息不可见均无法配置,并且在更新授权范围时需要对用户重新授权,对用户的权限配置方式复杂,灵活性较低。
综上所述,现有技术中还没有一种灵活度较高,能够对某些信息进行拒绝权限配置,并且能够实现在集合中做减法的可见性处理方案。
发明内容
本申请实施例提供一种通讯录可见性的处理方法、装置、设备及介质,用于解决现有技术中还没有一种灵活度较高,能够对某些信息进行拒绝权限配置,并且能够实现在集合中做减法的可见性处理方案的问题。
第一方面,本申请实施例提供一种通讯录可见性的处理方法,包括:
接收用户的终端设备发送的信息查询请求,所述信息查询请求中包括所述用户的标识;
根据所述用户的标识,从数据库中获取所述用户所属至少一个集合对应的权限规则,所述权限规则中包括所有采用可见方式设置的权限和/或采用不可见方式设置的权限;
根据所述权限规则,确定所述用户可见的至少一个白名单集合以及不可见的至少一个黑名单集合,其中,所述用户所属的每个集合对应一个黑名单集合和一个白名单集合;
根据所述至少一个集合中每个类型集合对应的权限规则的优先级,所述至少一个黑名单集合,以及所述至少一个白名单集合,计算出所述用户对应的可见性集合,所述可见性集合中包括所述用户所有可见的主体信息和/或属性信息;
根据所述可见性集合,向所述终端设备返回所述用户查询的信息。
在一种具体实施方式中,所述根据所述用户的标识,从数据库中获取所述用户所属至少一个集合对应的权限规则,包括:
根据所述用户的标识,获取所述用户所属的至少一个集合,所述至少一个集合的类型包括组织集合,角色集合,标签集合以及其他集合中的至少一种类型;
针对所述用户所属的每个集合,从所述数据库中预先存储的规则中,查询获取所述集合对应的主体规则和属性规则;
其中,所述用户所属的每个集合对应的权限规则包括所述集合对应的主体规则和属性规则,所述主体规则包括:所述集合内的用户可见和/或不可见所述集合的用户的权限,所述集合的用户可见和/或不可见其他集合的用户的权限,所述集合的用户可见和/或不可见其他用户的权限,其他集合的用户可见和/或不可见所述集合的用户的权限,其他用户可见和/或不可见所述集合的用户的权限;所述属性规则包括所述集合的用户的可见属性和/或不可见属性的权限。
在一种具体实施方式中,所述根据所述权限规则,确定所述用户可见的至少一个白名单集合以及不可见的至少一个黑名单集合,包括:
针对所述用户所属的每个集合,根据所述集合对应的权限规则,生成所述集合对应所述用户可见的白名单集合和所述用户不可见的黑名单集合;其中,每个集合对应的白名单集合包括主体白名单集合和属性白名单集合,每个集合对应的黑名单集合包括主体黑名单集合和属性黑名单集合。
在一种具体实施方式中,所述根据所述至少一个集合中每个类型集合对应的权限规则的优先级,所述至少一个黑名单集合,以及所述至少一个白名单集合,计算出所述用户对应的可见性集合,包括:
针对所述至少一个集合中的每个类型的集合,分别获取每个类型的集合对应的黑名单集合和白名单集合,其中,所述每个类型的集合对应的黑名单集合包括所述类型集合的主体黑名单集合和属性黑名单集合,所述每个类型的集合对应的白名单集合包括所述类型集合的主体白名单集合和主体白名单集合;
根据每个类型集合对应的权限规则的优先级,按照优先级最低到最高的顺序,依次对每个优先级的集合对应的白名单集合和黑名单集合进行逻辑计算,得到所述用户对应的可见性集合,所述可见性集合包括主体可见性集合和属性可见性集合。
在一种具体实施方式中,所述针对所述至少一个集合中的每个类型的集合,分别获取每个类型的集合对应的黑名单集合和白名单集合,包括:
针对所述至少一个集合中的组织集合中的每个集合,先向下遍历所述用户所在的组织架构中,所述用户所在节点的主体白名单集合以及所述用户所在节点下的子节点的主体白名单集合,再遍历所述用户所在节点的上一级父节点的主体白名单集合以及所述上一级父节点下的其他节点的主体白名单集合,再遍历所述用户所在节点的上两级父节点的主体白名单集合以及所述上两级父节点下其他的其他节点的主体白名单集合,按照本步骤的方式逐级向上迭代直至达到所述组织架构的根节点,得到所述组织集合类型的每个集合对应的主体白名单集合;
先向下遍历所述用户所在的组织架构中,所述用户所在节点的主体黑名单集合以及所述用户所在节点下的子节点的主体黑名单集合,再遍历所述用户所在节点的上一级父节点的主体黑名单集合以及所述上一级父节点下的其他节点的主体黑名单集合,再遍历所述用户所在节点的上两级父节点的主体黑名单集合以及所述上两级父节点下其他的其他节点的主体黑名单集合,按照本步骤的方式逐级向上迭代直至达到所述组织架构的根节点,得到所述组织集合类型的每个集合对应的主体黑名单集合;
将所述组织集合类型的集合对应的所有主体白名单集合取并集得到所述组织类型的集合对应的主体白名单集合;
将所述组织集合类型的集合对应的所有主体黑名单集合取并集得到所述组织类型的集合对应的主体黑名单集合;
将所述组织集合类型的集合对应的所有属性黑名单集合取并集得到所述组织类型的集合对应的属性黑名单集合;
将所述组织类型的集合对应的所有属性白名单集合取并集得到所述组织类型的集合的属性白名单集合;
其中,所述组织架构为多级架构组成的树形结构,根节点为所述用户所在的最上级组织,从根节点向下的每一级节点均表示上一级的下属组织。
在一种具体实施方式中,所述针对所述至少一个集合中的每个类型的集合,分别获取每个类型的集合对应的黑名单集合和白名单集合,包括:
针对所述至少一个集合中的角色集合,标签集合以及其他集合中的任一类型的集合,将所述类型的集合对应的所有黑名单集合取并集得到所述类型的集合对应的黑名单集合;
将所述类型的集合对应的所有白名单集合取并集得到所述类型的集合的白名单集合。
在一种具体实施方式中,所述接收用户的终端设备发送的信息查询请求之前,所述方法还包括:
获取至少一个管理用户通过其他终端设备对所述用户配置的访问权限规则;其中,所述访问权限规则包括通过可见方式或者不可见方式对所述用户所属至少一个集合配置的权限规则;
将所述访问权限规则存储至数据库中。
在一种具体实施方式中,所述获取至少一个管理用户通过其他终端设备对所述用户配置的访问权限规则,包括:
通过设置的消息中间件,获取至少一个管理用户通过所述其他终端设备对所述用户配置的访问权限规则。
在一种具体实施方式中,所述访问权限规则包括以下至少一种权限规则:
组织集合对应的权限规则;
角色集合对应的权限规则;
标签集合对应的权限规则;
其他集合对应的权限规则。
在一种具体实施方式中,所述根据所述可见性集合,向所述终端设备返回所述用户查询的信息,包括:
向所述终端设备返回所述可见性集合。
在一种具体实施方式中,所述信息查询请求中还包括其他用户的标识;
相应的,所述根据所述可见性集合,向所述终端设备返回所述用户查询的信息,包括:
根据所述其他用户的标识,从所述可见性集合中获取与所述其他用户的标识对应的目标信息;
将所述目标信息返回所述终端设备。
第二方面,本申请实施例提供一种通讯录可见性的处理装置,包括:
接收模块,用于接收用户的终端设备发送的信息查询请求,所述信息查询请求中包括所述用户的标识;
处理模块,用于根据所述用户的标识,从数据库中获取所述用户所属至少一个集合对应的权限规则,所述权限规则中包括所有采用可见方式设置的权限和/或采用不可见方式设置的权限;
所述处理模块,还用于根据所述权限规则,确定所述用户可见的至少一个白名单集合以及不可见的至少一个黑名单集合,其中,所述用户所属的每个集合对应一个黑名单集合和一个白名单集合;
所述处理模块,还用于根据所述至少一个集合中每个类型集合对应的权限规则的优先级,所述至少一个黑名单集合,以及所述至少一个白名单集合,计算出所述用户对应的可见性集合,所述可见性集合中包括所述用户所有可见的主体信息和/或属性信息;
发送模块,用于根据所述可见性集合,向所述终端设备返回所述用户查询的信息。
第三方面,本申请实施例提供一种电子设备,包括:
处理器,存储器,通信接口;
所述存储器用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行第一方面任一项所述的通讯录可见性的处理方法。
第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述的通讯录可见性的处理方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现第一方面任一项所述的通讯录可见性的处理方法。
本申请实施例提供的通讯录可见性的处理方法、装置、设备及介质,在接收到信息查询请求后,根据其中的用户标识获取到用户所属集合对应的权限规则,再根据权限规则确定黑白名单集合,结合每个类型集合对应的权限规则的优先级,确定出用户的可见性集合。进而可根据用户的可见性集合,向终端设备返回用户想要查询的信息,以便用户查看。本方案通过在计算可见性集合时,使用黑名单和白名单组合处理的方式,提高了权限配置的灵活性,应用场景更加广泛。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的现有技术中对组织授权的界面图;
图2a为本申请实施例提供的现有技术中对角色授权的示意图一;
图2b为本申请实施例提供的现有技术中对角色授权的示意图二;
图3为本申请实施例提供的现有技术中标签示意图;
图4a为本申请实施例提供的现有技术中计算可见性集合的示意图一;
图4b为本申请实施例提供的现有技术中计算可见性集合的示意图二;
图5a为本申请提供的通讯录可见性的处理方法实施例一的流程示意图;
图5b为本申请实施例提供的通讯录可见性的处理方案的流程示意图;
图6为本申请提供的通讯录可见性的处理方法实施例二的流程示意图;
图7为本申请提供的通讯录可见性的处理方法实施例三的流程示意图;
图8a为本申请提供的通讯录可见性的处理方法实施例四的流程示意图;
图8b为本申请实施例提供的组织架构图;
图9为本申请提供的通讯录可见性的处理方法实施例五的流程示意图;
图10a为本申请提供的通讯录可见性的处理方法实施例六的流程示意图;
图10b为本申请实施例提供的配置组织集合的访问权限规则的界面示意图;
图11a为本申请提供的通讯录可见性的处理方法实施例八的流程示意图;
图11b为本申请实施例提供的查询用户信息的界面示意图;
图12为本申请提供的通讯录可见性的处理装置实施例的结构示意图;
图13为本申请提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在根据本实施例的启示下作出的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着科技的迅速发展,通讯录在组织中的使用越来越广泛,通讯录中的信息也越来越多,在使用通讯录时,可通过通讯录查看组织中的某个人,也可查看这个人的某些信息,但是由于用户的权限不同,用户可查看的信息也不相同。
在现有技术中,通常使用可见方式对用户授权,授权的对象有组织集合、角色集合和标签集合。示例性的,图1为本申请实施例提供的现有技术中对组织授权的界面图,如图1所示,在对组织授权时,会对组织中的每个集合授权,也是对组织中的每个部门授权,可设置主规则和补充规则,主规则为本部门员工可见所有人时,表示本部门的员工有权限查看组织内所有人;主规则为本部门员工可见本部门员工时,表示本部门的员工有权限本部门内所有人;主规则为本部门员工可见其他部门员工时,表示本部门的员工有权限其他部门内所有人,在这个时候可通过补充规则输入其他部门为具体哪个部门。
示例性的,图2a为本申请实施例提供的现有技术中对角色授权的示意图一,如图2a所示,用户与角色之间为多对多形式,即一个用户可以有多种角色,一种角色中包括多个用户。对角色集合授权时,也是多对多的形式,即一种角色集合可以授权多个权限,同一个权限也可以授权给多个角色集合。示例性的,图2b为本申请实施例提供的现有技术中对角色授权的示意图二,如图2b所示,有甲、乙、丙三个用户,角色有A、B、C,权限有可见属性1、可见属性2、可见属性3,根据用户与角色的关系,甲的角色是A,乙的角色是B,丙的角色是C;再根据角色与权限的关系,A可见属性1和2,B可见属性3,C可见属性1,对应于用户来说,甲可见属性1和2,乙可见属性3,丙可见属性1。
示例性的,图3为本申请实施例提供的现有技术中标签示意图,如图3所示,设定的标签有决策、结算和通知,决策标签包括20人,结算标签包括10人,通知标签包括5人,可对每个标签通过可见方式授权。
在现有技术中,进行可见性集合的计算时,可根据用户在组织、角色和标签三个方面的白名单集合进行计算,示例性的,图4a为本申请实施例提供的现有技术中计算可见性集合的示意图一,如图4a所示,A为用户在组织方面的白名单集合,B为用户在角色方面的白名单集合,用户没有在标签方面的白名单,则用户的可见性集合为A与B的并集。示例性的,图4b为本申请实施例提供的现有技术中计算可见性集合的示意图二,如图4b所示,A为用户在组织方面的白名单集合,B为用户在角色方面的白名单集合,C为用户在标签方面的白名单集合,则用户的可见性集合为A、B与C的并集。
然而,这种现有方式中,对于针对某个用户不可见,针对某些信息不可见均无法配置,并且在更新授权范围时需要对用户重新授权,对用户的权限配置方式复杂,灵活性较低。
针对现有技术中存在的问题,发明人在对通讯录可见性的处理方法进行研究的过程中发现,可通过可见方式和/或不可见方式对用户所在的集合设置权限,在用户想要使用通讯录进行查询信息时,可通过终端设备向电子设备发送信息查询请求。电子设备根据信息查询请求中的用户的标识从数据库中获取用户所属集合对应的权限规则,再根据权限规则确定出用户可见的白名单集合与不可见的黑名单集合。对于组织集合、角色集合、标签集合和其他集合分别计算出白名单集合和黑名单集合,利用四种类型集合的优先级即可计算出用户的可见性集合。若用户想要查询其他用户的信息,信息查询请求还包括其他用户的标识,电子设备获取到用户的可见性集合后,判断其他用户是否在用户的主体可见性集合中,若在用户的主体可见性集合中,则向终端设备返回属性可见性集合中对应的其他用户的信息;若其他用户不在用户的主体可见性集合中,则向终端设备发送不可见提示消息,提示用户不可见其他用户。若用户想要查询自己的可见性范围,电子设备获取到用户的可见性集合后,向终端设备返回可见性集合。基于上述发明构思,设计了本申请中的通讯录可见性的处理方案。
下面对本申请实施例提供的通讯录可见性的处理方法的应用场景进行说明。
示例性的,在该应用场景中,包括终端设备、其他终端设备与电子设备,该电子设备为服务器。
示例性的,在用户想要通过通讯录查询其他用户的信息之前,管理用户会通过其他终端设备对用户所属的集合配置权限规则,采用的方式是可见方式和不可见方式,用户所属集合的类型有组织集合、角色集合、标签集合和其他集合,权限规则分为主体规则和属性规则。管理用户将权限规则通过消息中间件发送到服务器,服务器将其存储至数据库。
在用户想要通过通讯录查询其他用户的信息时,可通过终端设备向服务器发送信息查询请求。服务器接收到信息查询请求后,根据其中的用户的标识,从数据库中获取用户所属集合的权限规则,对于组织、角色、标签和其他类型的集合,分别根据权限规则确定对应的主体白名单集合,主体黑名单集合,属性白名单集合,属性黑名单集合,再根据每个类型集合对应的权限规则的优先级,确定出用户的主体可见性集合与属性可见性集合。服务器根据主体可见性集合确定其他用户是否在其中,若在主体可见性结合中,则向终端设备返回属性可见性集合中对应的其他用户的属性信息。若其他用户不在主体可见性集合中,则向终端设备返回不可见提示消息,用于提示用户不可见此其他用户。
需要说明的是,终端设备包括但不限于经由数据连接/网络和/或经由无线接口进行通信的装置,和/或另一被设置成接收/发送通信信号的装置。被设置成通过无线接口通信的终端设备可以被称为“无线通信终端”、“无线终端”或“移动终端”。移动终端的示例包括但不限于卫星或蜂窝电话;可以包括无线电电话、寻呼机、因特网/内联网接入、Web浏览器以及/或全球定位系统(Global Positioning System,简称:GPS)接收器的平板电脑。终端设备可以是智能手机,还可以是笔记本电脑,也可以是平板电脑,本申请实施例不对终端设备进行限定,可根据实际情况进行选择。
需要说明的是,电子设备可以是服务器,也可以是具有接收、发送和存储功能的大型计算机,本申请实施例不对电子设备进行限定,可根据实际情况进行选择。
需要说明的是,上述场景仅是本申请实施例提供的一种应用场景的示意,本申请实施例不对应用场景中包括的各种设备的实际形态进行限定,也不对设备之间的交互方式进行限定,在方案的具体应用中,可以根据实际需求设定。
下面,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图5a为本申请提供的通讯录可见性的处理方法实施例一的流程示意图,如图5a所示,该通讯录可见性的处理方法具体包括以下步骤:
S501:接收用户的终端设备发送的信息查询请求,信息查询请求中包括用户的标识。
在管理用户对用户所属集合配置权限规则之后,用户就可使用终端设备通过通讯录查询其他用户的信息,或者查看自己所能看到的信息,终端设备会向电子设备发送信息查询请求。
在本步骤中,在终端设备向电子设备发送信息查询请求后,电子设备就可进行接收,信息查询请求中包括用户的标识,以便后续电子设备根据用户的标识查找用户所属集合的权限规则。
需要说明的是,用户的标识可以是用户的姓名,还可以是用户的编号,本申请实施例不对用户的标识进行限定,可根据实际情况进行选择。
S502:根据用户的标识,从数据库中获取用户所属至少一个集合对应的权限规则,权限规则中包括所有采用可见方式设置的权限和/或采用不可见方式设置的权限。
在本步骤中,电子设备接收到终端设备发送的信息查询请求后,由于在用户进行查询之前,管理用户会通过其他终端设备将用户所属集合进行配置权限规则,并发送到电子设备,电子设备将其存储到数据库中,所以电子设备就可根据用户的标识查询到用户所属的集合,再根据用户所属的集合从数据库中获取用户所属至少一个集合对应的权限规则,权限规则中包括所有采用可见方式设置的权限和/或采用不可见方式设置的权限,权限规则分为主体规则和属性规则。
用户所属的集合的类型包括组织集合、角色集合、标签集合和其他集合,组织集合中的集合是组织内的部门的用户组成的集合,每一个部门的用户集合就是一个组织集合,一种角色的用户集合就是一个角色集合,一种标签的用户集合就是一个标签集合,一种其他集合的用户集合就是一个其他集合。
S503:根据权限规则,确定用户可见的至少一个白名单集合以及不可见的至少一个黑名单集合,其中,用户所属的每个集合对应一个黑名单集合和一个白名单集合。
在本步骤中,电子设备在获取到权限规则后,就可根据权限规则,确定出用户可见的至少一个白名单集合以及不可见的至少一个黑名单集合,其中,用户所属的每个集合对应一个黑名单集合和一个白名单集合。
具体的,针对用户所属的每个集合,根据集合对应的权限规则,生成集合对应用户可见的白名单集合和用户不可见的黑名单集合;其中,每个集合对应的白名单集合包括主体白名单集合和属性白名单集合,每个集合对应的黑名单集合包括主体黑名单集合和属性黑名单集合。
示例性的,对于一个角色集合,它对应的主体规则为可见集合A中的人和不可见集合A中的用户甲,集合A中有用户甲、乙、丙、丁,则对应的主体白名单集合为{乙,丙,丁},对应的主体黑名单集合为{甲};这个角色集合对应的属性规则为可见属性1、属性2和属性3,以及不可见属性4,则对应的属性白名单集合为{属性1,属性2,属性3},对应的属性黑名单集合为{属性4}。
示例性的,对于一个标签集合,它对应的主体规则为可见集合B中的人和不可见集合C中的用户戊,集合B中有用户己、庚、辛,则对应的主体白名单集合为{己,庚,辛},对应的主体黑名单集合为{戊};这个标签集合对应的属性规则为可见属性5、属性6和属性7,以及不可见属性5,则对应的属性白名单集合为{属性6,属性7},对应的属性黑名单集合为{属性5}。
示例性的,对于一个其他集合,它对应的主体规则为可见集合D中的人和不可见集合E中的用户戊,集合D中有用户甲、乙、辛,则对应的主体白名单集合为{甲,乙,辛},对应的主体黑名单集合为{戊};这个其他集合对应的属性规则为可见属性1、属性2和属性7,以及不可见属性5,则对应的属性白名单集合为{属性1,属性2,属性7},对应的属性黑名单集合为{属性5}。
示例性的,对于一个组织集合,它对应的主体规则为任何人不可见本集合中的用户甲,本集合的用户可见本集合的用户,本集合的用户包括甲、乙、丙、丁,对于用户乙,它所属的这个组织集合对应的主体白名单集合为{乙,丙,丁},对应的主体黑名单集合为{甲};这个组织集合对应的属性规则为可见属性1、属性2和属性7,以及不可见属性2,则对应的属性白名单集合为{属性1,属性7},对应的属性黑名单集合为{属性2}。
需要说明的是,对于权限规则,采用不可见优先的方式,例如,权限规则为本集合可见本集合的用户,本集合内的用户不可见用户甲,本集合内的用户有甲、乙、丙、丁。对于用户丙,根据权限规则,丙可以看到用户甲,同时丙不可以看到用户甲,再根据不可见优先,所以丙不可以看到用户甲。因此,用户丙所在集合对应的主体白名单集合为{乙、丙、丁},主体黑名单为{甲}。
需要说明的是,上述例子只是对根据权限规则,确定用户可见的至少一个白名单集合以及不可见的至少一个黑名单集合进行示例,本申请实施例不对权限规则进行具体限定,可根据实际情况进行设置。
S504:根据至少一个集合中每个类型集合对应的权限规则的优先级,至少一个黑名单集合,以及至少一个白名单集合,计算出用户对应的可见性集合,可见性集合中包括用户所有可见的主体信息和/或属性信息。
在本步骤中,在电子设备确定用户可见的至少一个白名单集合以及不可见的至少一个黑名单集合后,针对至少一个集合中的每个类型的集合,分别获取每个类型的集合对应的黑名单集合和白名单集合,再根据每个类型集合对应的权限规则的优先级,按照优先级最低到最高的顺序,依次对每个优先级的集合对应的白名单集合和黑名单集合进行逻辑计算,得到用户对应的可见性集合,可见性集合中包括用户所有可见的主体信息和/或属性信息,可见性集合包括主体可见性集合和属性可见性集合。
S505:根据可见性集合,向终端设备返回用户查询的信息。
在本步骤中,电子设备在得到可见性集合后,若信息查询请求中还包括其他用户的标识,说明用户想要查询此其他用户的信息,电子设备根据主体可见性集合判断此其他用户是否在主体可见性集合中,若此其他用户在主体可见性集合中,则根据属性可见性集合,获取此其他用户的属性信息,再将这些属性信息返回值终端设备,以便用户查看;若此其他用户不在主体可见性集合中,则向终端设备返回不可见提示消息,提示用户不可见此其他用户。若信息查询请求中不包括其他用户的标识,说明用户想要查询自己有权限查询的所有信息,将可见性集合返回至终端设备供用户查看。
示例性的,图5b为本申请实施例提供的通讯录可见性的处理方案的流程示意图;如图5b所示,在用户查询信息之前,需要管理用户通过其他终端设备,配置组织集合权限规则、角色集合权限规则、标签集合权限规则和其他集合权限规则,管理用户配置好权限规则后,其他终端设备将权限规则发送到消息中间件,消息中间件将权限规则发送到电子设备,电子设备将权限规则存储到数据库。用户通过终端设备查询信息,终端设备将信息查询请求发送到电子设备,电子设备根据信息查询请求中的用户的标识,从数据库中获取对应的权限规则,进而得到用户的可见性集合后,将可见性集合发送至终端设备。
本实施例提供的通讯录可见性的处理方法,通过可见方式的不可见方式配置权限规则,用户想要查询信息时,通过终端设备向电子设备发送信息查询请求,电子设备根据信息查询请求中的用户标识获取用户所属集合的权限规则,进而得到对应的黑白名单集合,最后根据黑白名单集合得到用户的可见性集合。相较于现有技术中使用可见方式配置权限规则,以及仅使用白名单集合计算可见性集合,本方案采用可见和不可见方式配置权限规则,以及使用白名单集合和黑名单集合计算可见性集合,提高了配置的灵活性,也可以对某些信息进行拒绝权限配置,并且能够实现在集合中做减法。
图6为本申请提供的通讯录可见性的处理方法实施例二的流程示意图,如图6所示,在上述实施例的基础上,上述实施例一中的步骤S502可通过以下步骤实现:
S601:根据用户的标识,获取用户所属的至少一个集合,至少一个集合的类型包括组织集合,角色集合,标签集合以及其他集合中的至少一种类型。
在本步骤中,电子设备在接收到终端设备发送的信息查询请求后,电子设备中存有组织中的用户构成的集合,因此可根据用户的标识,获取用户所属的至少一个集合,至少一个集合的类型包括组织集合,角色集合,标签集合以及其他集合中的至少一种类型。
S602:针对用户所属的每个集合,从数据库中预先存储的规则中,查询获取集合对应的主体规则和属性规则。
在本步骤中,电子设备在获取到用户所属的至少一个集合后,由于在用户查询信息前,管理用户会对每个集合配置权限规则,并通过其他终端设备发送至电子设备进行存储,所以电子设备针对用户所属的每个集合,从数据库中预先存储的规则中,查询获取集合对应的主体规则和属性规则。以便后续根据主体规则和属性规则生成对应的主体黑白名单集合和属性黑白名单集合。
需要说明的是,用户所属的每个集合对应的权限规则包括集合对应的主体规则和属性规则,主体规则包括:该集合内的用户可见和/或不可见该集合的用户的权限,该集合的用户可见和/或不可见其他集合的用户的权限,该集合的用户可见和/或不可见其他用户的权限,其他集合的用户可见和/或不可见该集合的用户的权限,其他用户可见和/或不可见该集合的用户的权限;属性规则包括该集合的用户的可见属性和/或不可见属性的权限。
示例性的,对主体规则中该集合内的用户可见和/或不可见该集合的用户的权限进行举例,该集合为角色A的集合,角色A包括用户甲、乙、丙、丁,该集合内的用户可见和/或不可见该集合的用户可以为角色A中用户可以看到和/或不可以看到角色A中的用户,包括角色A中的所有用户可以看到和/或不可以看到角色A中的所有用户,即用户甲、乙、丙、丁可以看到和/或不可以看到甲、乙、丙、丁。还包括角色A中的所有用户可以看到和/或不可以看到角色A中的某个用户,即用户甲、乙、丙、丁可以看到和/或不可以看到甲、乙、丙、丁中的某个用户。
示例性的,对主体规则中该集合的用户可见和/或不可见其他集合的用户的权限进行举例,该集合为标签A的集合,标签A包括用户甲、乙、丙、丁,该集合的用户可见和/或不可见其他集合的用户为标签A中用户可以看到和/或不可以看到其他集合中的用户,即用户甲、乙、丙、丁可以看到和/或不可以看到其他集合内的用户。
示例性的,对主体规则中该集合的用户可见和/或不可见其他用户的权限进行举例,该集合为其他类型集合A的集合,其他类型集合A包括用户甲、乙、丙、丁,其他用户为用户戊,该集合的用户可见和/或不可见其他用户为其他类型集合A中用户可以看到和/或不可以看到用户戊,即用户甲、乙、丙、丁可以看到和/或不可以看到用户戊。
示例性的,对主体规则中其他集合的用户可见和/或不可见该集合的用户的权限进行举例,该集合为组织集合A的集合,组织集合A包括用户甲、乙、丙、丁,其他集合的用户为用户戊、己、庚,其他集合的用户可见和/或不可见该集合的用户为其他集合的用户可以看到和/或不可以看到组织集合A中用户,即用户戊、己、庚可以看到和/或不可以看到甲、乙、丙、丁。
示例性的,对主体规则中其他用户可见和/或不可见该集合的用户的权限进行举例,该集合为组织集合A的集合,组织集合A包括用户甲、乙、丙、丁,其他用户为用户戊,其他用户可见和/或不可见该集合的用户为其他用户可以看到和/或不可以看到组织集合A中用户,即用户戊可以看到和/或不可以看到甲、乙、丙、丁。
示例性的,对属性规则中该集合的用户的可见属性和/或不可见属性的权限进行举例,该集合为角色集合A,角色集合A包括用户甲、乙、丙、丁,可见属性和/或不可见属性为属性1、属性2,该集合的用户的可见属性和/或不可见属性为甲、乙、丙、丁可见属性和/或不可见属性1和属性2。
需要说明的是,上述例子只是对权限规则进行示例,权限规则还可以包括集合内的用户可见和/或不可见所有用户的权限,所有用户可见和/或不可见集合内的用户的权限,本申请实施例不对权限规则的具体内容和数量进行限制,可根据实际情况进行配置。
本实施例提供的通讯录可见性的处理方法,根据用户的标识获取用户所属的集合,根据集合从数据库中获取集合对应的主体规则和属性规则,主体规则和属性规则都是通过可见方式和不可见方式中的至少一种方式进行配置的,有效提高了配置权限的灵活性,同时,使用此权限规则可生成白名单集合和黑名单集合,可实现集合做减法生成可见性集合。
图7为本申请提供的通讯录可见性的处理方法实施例三的流程示意图,如图7所示,在上述实施例的基础上,上述实施例一中的步骤S504可通过以下步骤实现:
S701:针对至少一个集合中的每个类型的集合,分别获取每个类型的集合对应的黑名单集合和白名单集合,其中,每个类型的集合对应的黑名单集合包括类型集合的主体黑名单集合和属性黑名单集合,每个类型的集合对应的白名单集合包括类型集合的主体白名单集合和主体白名单集合。
在本步骤中,电子设备在确定出用户所属集合的白名单集合和黑名单集合后,由于每个集合都对应一种类型,类型有:组织集合、角色集合、标签集合和其他集合,所以将每种类型的集合的主体白名单集合的并集,确定为该类型集合对应的主体白名单集合,将每种类型的集合的属性白名单集合的并集,确定为该类型集合对应的属性白名单集合。将每种类型的集合的主体黑名单集合的并集,确定为该类型集合对应的主体黑名单集合,将每种类型的集合的属性黑名单集合的并集,确定为该类型集合对应的属性黑名单集合。其中,每个类型的集合对应的黑名单集合包括类型集合的主体黑名单集合和属性黑名单集合,每个类型的集合对应的白名单集合包括类型集合的主体白名单集合和主体白名单集合。
示例性的,用户所属的集合为集合A、集合B、集合C、集合D、集合E,集合A、集合B的类型为组织集合,集合C、集合D、集合E的类型为角色类型。
示例性的,用户在集合A对应的主体白名单集合为{用户1,用户2,用户5},主体黑名单为{用户3},属性白名单集合为{属性1,属性3},属性黑名单集合为{属性4},用户在集合B对应的主体白名单集合为{用户1,用户2,用户3},主体黑名单集合为{用户7},属性白名单集合为{属性1},属性黑名单集合为{属性4,属性5},则组织类型集合对应的主体白名单集合为{用户1,用户2,用户3,用户5},主体黑名单集合为{用户3,用户7},属性白名单集合为{属性1,属性3},属性黑名单集合为{属性4,属性5}。
示例性的,集合C对应的主体白名单集合为{用户1,用户3,用户5},主体黑名单集合为{用户4},属性白名单集合为{属性1,属性2},属性黑名单集合为{属性4},集合D对应的主体白名单集合为{用户1,用户2,用户3},主体黑名单集合为{用户5},属性白名单集合为{属性1、属性3},属性黑名单集合为{属性4,属性5},集合E对应的主体白名单集合为{用户3},主体黑名单集合为{用户2},属性白名单集合为{属性4},属性黑名单集合为{属性5,属性7},则角色类型集合对应的主体白名单集合为{用户1,用户2,用户3,用户5},主体黑名单集合为{用户2,用户4,用户5},属性白名单集合为{属性1,属性2,属性3,属性4},属性黑名单集合为{属性4,属性5,属性7}。
S702:根据每个类型集合对应的权限规则的优先级,按照优先级最低到最高的顺序,依次对每个优先级的集合对应的白名单集合和黑名单集合进行逻辑计算,得到用户对应的可见性集合,可见性集合包括主体可见性集合和属性可见性集合。
在本步骤中,电子设备在获取到每个类型的集合对应的黑名单集合和白名单集合后,由于电子设备中存储有每个类型集合对应的权限规则的优先级,可根据优先级,按照优先级最低到最高的顺序,依次对每个优先级的集合对应的白名单集合和黑名单集合进行逻辑计算,得到用户对应的可见性集合,可见性集合包括主体可见性集合和属性可见性集合。
具体的,对于计算主体可见性集合,首先使用优先级最低的类型集合的主体白名单集合减优先级最低的类型集合的主体黑名单集合,再与优先级第二低的类型集合的主体白名单集合取并集,再减优先级第二低的类型集合的主体黑名单集合,再与优先级第三低的类型集合的主体白名单集合取并集,再减优先级第三低的类型集合的主体黑名单集合,再与优先级最高的类型集合的主体白名单集合取并集,再减优先级最高的类型集合的主体黑名单集合,即可得到主体可见性集合。
换种形式来讲,使用公式计算主体可见性集合,V={[(W4-B4)∪W3-B3]∪W2-B2}∪W1-B1,其中,V表示主体可见性集合,W1表示优先级最高的类型集合的主体白名单集合,B1表示优先级最高的类型集合的主体黑名单集合,W2表示优先级第三低的类型集合的主体白名单集合,B2表示优先级第三低的类型集合的主体黑名单集合,W3表示优先级第二低的类型集合的主体白名单集合,B3表示优先级第二低的类型集合的主体黑名单集合,W4表示优先级最低的类型集合的主体白名单集合,B4表示优先级最低的类型集合的主体黑名单集合。
对于计算属性可见性集合,首先使用优先级最低的类型集合的属性白名单集合减优先级最低的类型集合的属性黑名单集合,再与优先级第二低的类型集合的属性白名单集合取并集,再减优先级第二低的类型集合的属性黑名单集合,再与优先级第三低的类型集合的属性白名单集合取并集,再减优先级第三低的类型集合的属性黑名单集合,再与优先级最高的类型集合的属性白名单集合取并集,再减优先级最高的类型集合的属性黑名单集合,即可得到属性可见性集合。
换种形式来讲,使用公式计算属性可见性集合,v={[(w4-b4)∪w3-b3]∪w2-b2}∪w1-b1,其中,v表示属性可见性集合,w1表示优先级最高的类型集合的属性白名单集合,b1表示优先级最高的类型集合的属性黑名单集合,w2表示优先级第三低的类型集合的属性白名单集合,b2表示优先级第三低的类型集合的属性黑名单集合,w3表示优先级第二低的类型集合的属性白名单集合,b3表示优先级第二低的类型集合的属性黑名单集合,w4表示优先级最低的类型集合的属性白名单集合,b4表示优先级最低的类型集合的属性黑名单集合。
示例性的,若用户所属集合只有两种类型,组织集合和角色集合,组织集合对应的主体白名单集合为{用户1,用户2,用户3,用户5},主体黑名单集合为{用户3,用户7},属性白名单集合为{属性1,属性3},属性黑名单集合为{属性4,属性5}。角色集合对应的主体白名单集合为{用户1,用户2,用户3,用户5},主体黑名单集合为{用户2,用户4,用户5},属性白名单集合为{属性1,属性2,属性3,属性4},属性黑名单集合为{属性4,属性5,属性7}。优先级按照从低到高的顺序为:组织集合的权限规则,标签集合的权限规则,角色集合的权限规则,其他集合的权限规则。
因此,计算主体可见性集合的方式为:组织集合对应的主体白名单集合减组织集合对应的主体黑名单集合,得到的结果为{用户1,用户2,用户5},再与角色集合对应的主体白名单集合取并集,得到的结果为{用户1,用户2,用户3,用户5},再减角色集合对应的主体黑名单集合,得到的结果为{用户1,用户3},所以主体可见性集合为{用户1,用户3}。
计算属性可见性集合的方式为:组织集合对应的属性白名单集合减组织集合对应的属性黑名单集合,得到的结果为{属性1,属性3},再与角色集合对应的属性白名单集合取并集,得到的结果为{属性1,属性2,属性3,属性4},再减角色集合对应的属性黑名单集合,得到的结果为{属性1,属性2,属性3},所以属性可见性集合为{属性1,属性2,属性3}。
示例性的,若用户所属集合有四种类型,组织集合、角色集合、标签集合和其他集合,组织集合对应的主体白名单集合为{用户1,用户2,用户5},主体黑名单集合为{用户5},属性白名单集合为{属性1,属性3},属性黑名单集合为{属性3,属性5}。角色集合对应的主体白名单集合为{用户1,用户5},主体黑名单集合为{用户2},属性白名单集合为{属性1,属性4},属性黑名单集合为{属性5,属性7}。标签集合对应的主体白名单集合为{用户1,用户5,用户7},主体黑名单集合为{用户2,用户3},属性白名单集合为{属性1,属性3,属性4},属性黑名单集合为{属性5,属性6,属性7}。其他集合对应的主体白名单集合为{用户1,用户2,用户5},主体黑名单集合为{用户2,用户7},属性白名单集合为{属性1,属性2,属性4},属性黑名单集合为{属性3,属性5,属性7}。优先级按照从低到高的顺序为:其他集合的权限规则,组织集合的权限规则,标签集合的权限规则,角色集合的权限规则。
因此,计算主体可见性集合的方式为:其他集合对应的主体白名单集合减其他集合对应的主体黑名单集合,得到的结果为{用户1,用户5},再与组织集合对应的主体白名单集合取并集,得到的结果为{用户1,用户2,用户5},再减组织集合对应的主体黑名单集合,得到的结果为{用户1,用户2},再与标签集合对应的主体白名单集合取并集,得到的结果为{用户1,用户2,用户5,用户7},再减标签集合对应的主体黑名单集合,得到的结果为{用户1,用户5,用户7},再与角色集合对应的主体白名单集合取并集,得到的结果为{用户1,用户5,用户7},再减角色集合对应的主体黑名单集合,得到的结果为{用户1,用户5,用户7},所以主体可见性集合为{用户1,用户5,用户7}。
计算属性可见性集合的方式为:其他集合对应的属性白名单集合减其他集合对应的属性黑名单集合,得到的结果为{属性1,属性2,属性4},再与组织集合对应的属性白名单集合取并集,得到的结果为{属性1,属性2,属性3,属性4},再减组织集合对应的属性黑名单集合,得到的结果为{属性1,属性2,属性4},再与标签集合对应的属性白名单集合取并集,得到的结果为{属性1,属性2,属性3,属性4},再减标签集合对应的属性黑名单集合,得到的结果为{属性1,属性2,属性3,属性4},再与角色集合对应的属性白名单集合取并集,得到的结果为{属性1,属性2,属性3,属性4},再减角色集合对应的属性黑名单集合,得到的结果为{属性1,属性2,属性3,属性4},所以属性可见性集合为{属性1,属性2,属性3,属性4}。
需要说明的是,本申请实施例不对用户所属的集合类型的数量进行限定,可以是一个,也可以是四个,可根据实际情况进行确定。
需要说明的是,每个类型集合对应的权限规则的优先级是在本方案执行前,由管理用户设置在电子设备中的,用于根据此优先级计算用户的可见性集合。每个类型集合对应的权限规则的优先级按照从低到高的顺序,可以是:组织集合的权限规则,标签集合的权限规则,角色集合的权限规则,其他集合的权限规则;还可以是:其他集合的权限规则,标签集合的权限规则,角色集合的权限规则,组织集合的权限规则。本申请实施例不对优先级进行限定,可根据实际情况进行设置。
本实施例提供的通讯录可见性的处理方法,通过计算每个类型集合对应的黑名单集合和白名单集合,结合每个类型集合的权限规则的优先级,得到用户的可见性集合。通过黑名单集合和白名单集合计算用户的可见性集合,实现了在有些信息用户无权查看、该用户无法查看某些用户时,能够顺利计算得到可见性集合。
图8a为本申请提供的通讯录可见性的处理方法实施例四的流程示意图,如图8a所示,在上述实施例的基础上,对于用户所属的集合为组织集合时,上述实施例三中的步骤S701可通过以下步骤实现:
S801:对至少一个集合中的组织集合,先向下遍历用户所在的组织架构中,用户所在节点的主体白名单集合以及所述用户所在节点下的子节点的主体白名单集合,再遍历用户所在节点的上一级父节点的主体白名单集合以及上一级父节点下的其他节点的主体白名单集合,再遍历用户所在节点的上两级父节点的主体白名单集合以及上两级父节点下其他的其他节点的主体白名单集合,按照本步骤的方式逐级向上迭代直至达到组织架构的根节点,得到组织集合类型的集合对应的主体白名单集合。
在本步骤中,由于组织架构为多级架构组成的树形结构,根节点为用户所在的最上级组织,从根节点向下的每一级节点均表示上一级的下属组织,每一级节点包括下属用户和/或下属组织。用户所在集合为组织集合时,计算用户在该集合的主体白名单集合的方式为:先获取用户所在节点的主体白名单集合,向下遍历用户所在节点的下一级节点,判断用户是否可见下一级节点中的所有用户,若用户不可见下一级节点中的所有用户,则不更新主体白名单集合,并且不再向下遍历此下一级节点下的节点。若用户可见下一级节点中的用户,将用户在此下一级节点的主体白名单集合与用户所在节点的主体白名单集合取并集,得到新的主体白名单集合。依次向下遍历,直到没有下一级节点。
在遍历完用户所在节点的下级节点后,往上迭代至用户所在节点的上一级父节点,判断用户是否可见此上一级父节点中的所有用户,若用户不可见此上一级父节点中的所有用户,则不更新主体白名单集合,并且不再向下遍历此上一级父节点下的节点,往上迭代至用户所在节点的父二级节点。
若用户可见此上一级父节点中的用户,根据将用户在此上一级父节点的主体白名单集合与用户更新的主体白名单集合取并集,得到新的主体白名单集合。依次向下遍历除用户所在节点以及所在节点下的节点外的节点,判断用户是否可见此节点中的所有用户,若用户不可见此节点中的所有用户,则不更新主体白名单集合,并且不再向下遍历此级节点下的节点。若用户可见此节点中的用户,将用户在此节点的主体白名单集合与用户更新的白名单集合取并集,得到新的主体白名单集合。依次向下遍历,直到没有下一级节点,再往上迭代至用户所在节点的父二级节点。
按照上述方法逐级向上迭代直至达到所述组织架构的根节点,得到组织集合类型的集合对应的主体白名单集合。
S802:先向下遍历用户所在的组织架构中,用户所在节点的主体白名单集合以及所述用户所在节点下的子节点的主体黑名单集合,再遍历用户所在节点的上一级父节点的主体黑名单集合以及上一级父节点下的其他节点的主体黑名单集合,再遍历用户所在节点的上两级父节点的主体黑名单集合以及上两级父节点下其他的其他节点的主体黑名单集合,按照本步骤的方式逐级向上迭代直至达到组织架构的根节点,得到组织集合类型的集合对应的主体黑名单集合。
在本步骤中,用户所在集合为组织集合时,计算该集合的主体黑名单集合的方式为:先获取用户所在节点的主体黑名单集合,向下遍历用户所在节点的下一级节点,判断用户是否可见下一级节点中的所有用户,若用户不可见下一级节点中的所有用户,则不更新主体黑名单集合,并且不再向下遍历此下一级节点下的节点。若用户可见下一级节点中的用户,将用户在此下一级节点的主体黑名单集合与用户所在节点的主体黑名单集合取并集,得到新的主体黑名单集合。依次向下遍历,直到没有下一级节点。
在遍历完用户所在节点的下级节点后,往上迭代至用户所在节点的上一级父节点,判断用户是否可见此上一级父节点中的所有用户,若用户不可见此上一级父节点中的所有用户,则不更新主体黑名单集合,并且不再向下遍历此上一级父节点下的节点,往上迭代至用户所在节点的父二级节点。
若用户可见此上一级父节点中的用户,根据将用户在此上一级父节点的主体黑名单集合与用户更新的主体黑名单集合取并集,得到新的主体黑名单集合。依次向下遍历除用户所在节点以及所在节点下的节点外的节点,判断用户是否可见此节点中的所有用户,若用户不可见此节点中的所有用户,则不更新主体黑名单集合,并且不再向下遍历此级节点下的节点。若用户可见此节点中的用户,将用户在此节点的主体黑名单集合与用户更新的黑名单集合取并集,得到新的主体黑名单集合。依次向下遍历,直到没有下一级节点,再往上迭代至用户所在节点的父二级节点。
按照上述方法逐级向上迭代直至达到所述组织架构的根节点,得到组织集合类型的集合对应的主体黑名单集合。
示例性的,下面对获取织集合类型的集合对应的主体白名单集合和主体白名单集合进行举例。
示例性的,图8b为本申请实施例提供的组织架构图,如图8b所示,用户U001想要查询其他用户信息,U001所在的节点,即所在的集合有两个,分别为2.1.1与2.2.1.2,下面对两个节点分别进行说明。
对于节点2.2.1.2,对应的权限规则为本集合可见本集合内的所有用户和所有人不可见U002和U004,所以对于用户U001而言,对应的主体白名单集合为{U001,U003,U005},主体黑名单集合为{U002,U004}。遍历2.2.1.2下面的节点,即节点2.2.1.2.1和节点2.2.1.2.2,对于节点2.2.1.2.1,对应的规则权限为其他集合可见本集合内所有用户,所以用户U001可见节点2.2.1.2.1中的用户,在此节点U001的主体白名单为集合{U006,U007,U008},主体黑名单集合为空集,所以更新U001的主体白名单集合为{U001,U003,U005,U006,U007,U008},主体黑名单集合不变。对于节点2.2.1.2.2,对应的规则权限为其他集合不可见本集合内所有用户,所以用户U001不可见节点2.2.1.2.2中的所有用户,不更新主体白名单集合和主体黑名单集合。到此,U001的主体白名单集合为{U001,U003,U005,U006,U007,U008},主体黑名单集合为{U002,U004}。
往上迭代至上一级父节点,即节点2.2.1,此节点的权限规则为所有人可见本集合内所有用户,所以U001可见本集合内所有用户,此节点下没有直属用户,即主体白名单集合与主体黑名单集合都为空集,用户U001的主体白名单集合更新后仍是{U001,U003,U005,U006,U007,U008},主体黑名单集合仍是{U002,U004}。往下遍历除2.2.1.2以及2.2.1.2下的节点外的节点,即节点2.2.1.1和节点2.2.1.3,对于节点2.2.1.1,对应的权限规则为所有人不可见本集合内所有用户,所以U001不可见本集合内所有用户,不更新白名单集合和黑名单结合,也不继续遍历节点2.2.1.1下的集合。对于节点2.2.1.3,对应的权限规则为所有人可见本集合内所有用户,U001不可见U202,所以U001可见本集合内用户,在此节点U001的主体白名单为集合{U200,U201},主体黑名单集合为{U202},所以更新U001的主体白名单集合为{U001,U003,U005,U006,U007,U008,U200,U201},主体黑名单集合为{U002,U004,U202}。再遍历2.2.1.3下的节点,即节点2.2.1.3.1,对应的权限规则为本集合内用户可见本集合内用户,所以U001不可见本集合内所有用户,不更新白名单集合和黑名单集合,也不继续遍历节点2.2.1.3.1下的集合。到此,U001的主体白名单集合为{U001,U003,U005,U006,U007,U008,U200,U201},主体黑名单集合为{U002,U004,U202}。
往上迭代至上两级父节点,即节点2.2,此节点的权限规则为本集合可见本集合内所有用户,所以U001可见本集合内所有用户,此节点下没有直属用户,即主体白名单集合与主体黑名单集合都为空集,用户U001的主体白名单集合更新后仍是{U001,U003,U005,U006,U007,U008,U200,U201},主体黑名单集合仍是{U002,U004,U202}。往下遍历除2.2.1以及2.2.1下的节点外的节点,即节点2.2.2,对应的权限规则为U001可见本集合内用户和其他集合不可见本集合用户,根据不可见优先,所以U001不可见本集合内所有用户,不更新白名单集合和黑名单结合,也不继续遍历节点2.2.2下的集合。到此,U001的主体白名单集合为{U001,U003,U005,U006,U007,U008,U200,U201},主体黑名单集合为{U002,U004,U202}。
往上迭代至上三级父节点,即节点2,此节点的权限规则为所有人不可见本集合内所有用户,所以U001不可见本集合内所有用户,不更新白名单集合和黑名单结合,也不继续遍历节点2下的集合。到此,U001的主体白名单集合为{U001,U003,U005,U006,U007,U008,U200,U201},主体黑名单集合为{U002,U004,U202}。再往上迭代至根节点ROOT,结束计算,U001的主体白名单集合为{U001,U003,U005,U006,U007,U008,U200,U201},主体黑名单集合为{U002,U004,U202}。
对于节点2.1.1,对应的权限规则为本集合可见本集合内所有用户,即U001可见本集合内用户,用户U001的主体白名单集合为{U001,U403,U404,U405},主体黑名单集合为空集。下面没有下属节点,需要往上迭代。
往上迭代至节点2.1,对应的权限规则为本集合可见本集合内所有用户,U001不可见U003,U001可见集合内的用户,在此节点U001的主体白名单为集合{U400,U401},主体黑名单集合为{U003},所以更新U001的主体白名单集合为{U001,U403,U404,U405,U400,U401},主体黑名单集合为{U003}。节点2.1下除节点2.1.1外没有其他下属节点,需要往上迭代。
往上迭代至节点2,此节点的权限规则为所有人不可见本集合内所有用户,所以U001不可见本集合内所有用户,不更新白名单集合和黑名单结合,也不继续遍历节点2下的集合。到此,U001的主体白名单集合为{U001,U403,U404,U405,U400,U401},主体黑名单集合为{U003}。再往上迭代至根节点ROOT,结束计算,U001的主体白名单集合为{U001,U403,U404,U405,U400,U401},主体黑名单集合为{U003}。
需要说明的是,上述例子仅是对计算用户所属集合为组织集合时,计算主体白名单集合与主体黑名单集合的示例,本申请实施例不对组织结构和节点权限进行限定,可根据实际情况进行设置。
S803:将组织集合类型的集合对应的所有主体白名单集合取并集得到组织类型的集合对应的主体白名单集合。
S804:将组织集合类型的集合对应的所有主体黑名单集合取并集得到组织类型的集合对应的主体黑名单集合。
在上述步骤中,在电子设备获取到组织集合中用户在每个集合中的主体白名单集合和主体黑名单集合后,将组织集合类型的集合对应的所有主体白名单集合取并集得到组织类型的集合对应的主体白名单集合,将组织集合类型的集合对应的所有主体黑名单集合取并集得到组织类型的集合对应的主体黑名单集合。
示例性的,在步骤S802中的例子的基础上,用户U001在集合2.2.1.2的主体白名单集合为{U001,U003,U005,U006,U007,U008,U200,U201},主体黑名单集合为{U002,U004,U202}。用户U001在集合2.1.1的主体白名单为{U001,U403,U404,U405,U400,U401},主体黑名单集合为{U003}。所以,组织类型的集合对应的主体白名单集合为{U001,U003,U005,U006,U007,U008,U200,U201,U403,U404,U405,U400,U401},组织类型的集合对应的主体黑名单集合为{U002,U004,U202,U003}。
S805:将组织集合类型的集合对应的所有属性黑名单集合取并集得到组织类型的集合对应的属性黑名单集合。
S806:将组织类型的集合对应的所有属性白名单集合取并集得到组织类型的集合的属性白名单集合。
在上述步骤中,电子设备获取到组织集合中用户在每个集合中的属性白名单集合和属性黑名单集合后,将组织集合类型的集合对应的所有属性黑名单集合取并集得到组织类型的集合对应的属性黑名单集合,将组织类型的集合对应的所有属性白名单集合取并集得到组织类型的集合的属性白名单集合。
示例性的,在步骤S802中的例子的基础上,用户U001在集合2.2.1.2的属性白名单集合为{属性1,属性2,属性3},属性黑名单集合为{属性5}。用户U001在集合2.1.1的属性白名单为{属性1,属性3,属性4},属性黑名单集合为{属性7}。所以,组织类型的集合对应的属性白名单集合为{属性1,属性2,属性3,属性4},组织类型的集合对应的属性黑名单集合为{属性5,属性7}。
需要说明的是,上述步骤S801与步骤S802中获取用户在每个集合中的主体白名单集合和主体黑名单集合的顺序,可以是先获取主体白名单集合再获取主体黑名单集合,也可以是先获取主体黑名单集合再获取主体白名单集合,还可以是主体黑名单结合与主体白名单集合同时获取。本申请实施例不对获取用户在每个集合中的主体白名单集合和主体黑名单集合的顺序进行限定,可根据实际情况进行设置。
需要说明的是,对于步骤S803与步骤S804的执行顺序,可以是先执行步骤S803再执行步骤S804,也可以是先执行步骤S804再执行步骤S805,还可以是步骤S803与步骤S804同时执行。本申请实施例不对步骤S803与步骤S804的执行顺序进行限定,可根据实际情况进行设置。
需要说明的是,对于步骤S805与步骤S806的执行顺序,可以是先执行步骤S805再执行步骤S806,也可以是先执行步骤S806再执行步骤S805,还可以是步骤S805与步骤S806同时执行。本申请实施例不对步骤S805与步骤S806的执行顺序进行限定,可根据实际情况进行设置。
本实施例提供的通讯录可见性的处理方法,通过遍历和迭代的方式获取用户在每个组织集合中的主体白名单集合与主体黑名单集合,进而得到组织集合对应的主体白名单集合与主体黑名单集合。在计算用户的可见性集合的过程中获取白名单和黑名单,实现了在有些信息用户无权查看、该用户无法查看某些用户时,能够顺利计算得到可见性集合。
图9为本申请提供的通讯录可见性的处理方法实施例五的流程示意图,如图9所示,在上述实施例的基础上,对于用户所属的集合为角色集合,标签集合以及其他集合中的任一类型的集合时,上述实施例三中的步骤S701可通过以下步骤实现:
S901:针对至少一个集合中的角色集合,标签集合以及其他集合中的任一类型的集合,将类型的集合对应的所有黑名单集合取并集得到类型的集合对应的黑名单集合。
S902:将类型的集合对应的所有白名单集合取并集得到类型的集合的白名单集合。
在上述步骤中,针对至少一个集合中的角色集合,标签集合以及其他集合中的任一类型的集合,若该类型下有多个集合,每个集合都会有白名单集合和黑名单集合,白名单集合分为主体白名单集合和属性白名单集合,黑名单集合分为主体黑名单集合和属性黑名单集合。将类型的集合对应的所有主体黑名单集合取并集得到类型的集合对应的主体黑名单集合,将类型的集合对应的所有属性黑名单集合取并集得到类型的集合对应的属性黑名单集合,将类型的集合对应的所有主体白名单集合取并集得到类型的集合对应的主体白名单集合,将类型的集合对应的所有属性白名单集合取并集得到类型的集合对应的属性白名单集合。
示例性的,对于角色集合,该类型下有两个集合,分别为集合A和集合B,集合A对应的主体白名单集合为{用户1,用户2,用户3},主体黑名单集合为{用户4},属性白名单为{属性1,属性2},属性黑名单为{属性3}。集合B对应的主体白名单集合为{用户1,用户5},主体黑名单集合为{用户6},属性白名单为{属性1},属性黑名单为{属性5}。角色集合对应的主体白名单为{用户1,用户2,用户3,用户5},主体黑名单为{用户4,用户6},角色集合对应的属性白名单为{属性1,属性2},属性黑名单为{属性3,属性5}。
本实施例提供的通讯录可见性的处理方法,在计算用户的可见性集合的过程中获取白名单和黑名单,实现了在有些信息用户无权查看、该用户无法查看某些用户时,能够顺利计算得到可见性集合。
图10a为本申请提供的通讯录可见性的处理方法实施例六的流程示意图,如图10a所示,在接收用户的终端设备发送的信息查询请求之前,该通讯录可见性的处理方法还包括以下步骤:
S1001:获取至少一个管理用户通过其他终端设备对用户配置的访问权限规则;其中,访问权限规则包括通过可见方式或者不可见方式对用户所属至少一个集合配置的权限规则。
在用户想要使用通讯录查询信息之前,需要对用户配置的访问权限规则。
在本步骤中,管理用户会通过其他终端设备对用户配置的访问权限规则;其中,访问权限规则包括通过可见方式或者不可见方式对用户所属至少一个集合配置的权限规则。进而将访问权限规则发送到电子设备,电子设备就可接收到访问权限规则。
具体的,电子设备可通过设置的消息中间件,获取至少一个管理用户通过所述其他终端设备对所述用户配置的访问权限规则。管理用户在配置好访问权限规则后,可将访问权限规则发送至消息中间件,消息中间件将访问权限规则发送至电子设备。
示例性的,图10b为本申请实施例提供的配置组织集合的访问权限规则的界面示意图。如图10b所示,在此界面可配置访问权限规则,通过主规则和补充规则组合的方式更方便配置。
需要说明的是,上述图10b仅是对配置组织集合的访问权限规则的界面进行示意,本申请实施例不对配置组织集合的访问权限规则的方式和界面进行限定,可根据实际情况进行选择。
S1002:将访问权限规则存储至数据库中。
在本步骤中,电子设备在获取到访问权限规则后,将访问权限规则存储至数据库中,以便后续在用户查询信息时,可从数据库中调取访问权限规则。
需要说明的是,访问权限规则包括以下至少一种权限规则:组织集合对应的权限规则、角色集合对应的权限规则、标签集合对应的权限规则、其他集合对应的权限规则。
本实施例提供的通讯录可见性的处理方法,在用户使用通讯录查询信息之前,管理用户会将访问权限规则配置好,并发送至电子设备,保存至数据库中。在配置时,使用可见和不可见方式进行配置,有效提高了配置权限的灵活性。另外在将权限规则配置发送至电子设备的过程中,使用了消息中间件,使得传输效率更高。
下面对本申请提供的通讯录可见性的处理方法实施例七进行说明,在本实施例中,用户想要查看自己的权限范围,也就是能够看到哪些用户,以及可以看到哪些属性信息。所以,在电子设备获取到用户的可见性集合后,向终端设备返回可见性集合,终端接收到后,根据可见性集合,向用户展示用户可查看的其他用户信息。
本实施例提供的通讯录可见性的处理方法,通过将可见性集合返回至终端设备,使得用户可以查看自己可以看到哪些用户,以及可以查看哪些属性信息,提高了实用性和用户体验。
图11a为本申请提供的通讯录可见性的处理方法实施例八的流程示意图,如图11a所示,用户想要查询某个其他用户的信息时,信息查询请求中还包括其他用户的标识,在电子设备获取到用户的可见性集合后,该通讯录可见性的处理方法还包括以下步骤:
S1101:根据其他用户的标识,从可见性集合中获取与其他用户的标识对应的目标信息。
S1102:将目标信息返回终端设备。
在上述步骤中,在电子设备获取到用户的可见性集合后,根据用户的主体可见性集合和其他用户的标识,判断此其他用户是否在用户的主体可见性集合中,若此其他用户不在用户的主体可见性集合中,则向终端设备返回不可见提示消息,提示用户不可见此其他用户。若此其他用户在用户的主体可见性集合中,则根据属性可见性集合中的每个属性,查询该其他用户的对应的此属性的属性信息,属性可见性集合中的每个属性对应的该其他用户的属性信息,构成了其他用户的标识对应的目标信息,进而将目标信息返回终端设备,用户即可通过终端设备查看此其他用户的属性信息。
示例性的,图11b为本申请实施例提供的查询用户信息的界面示意图,用户A想要查询自己可不可以看到用户B的信息,可输入用户A和用户B后,点击查询按钮,得到的查询结果为用户A不可见用户B。
需要说明的是,上述图11b是本申请实施例提供的查询用户信息的界面进行示意,本申请实施例不对此界面进行限定,可根据实际情况进行设置。
本实施例提供的通讯录可见性的处理方法,通过判断其他用户是否在主体可见性集合当中,其他用户在主体可见性集合当中时,才会获取其他用户的属性信息,有效提高了通讯录的安全性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图12为本申请提供的通讯录可见性的处理装置实施例的结构示意图;如图12所示,该装置120包括:
接收模块121,用于接收用户的终端设备发送的信息查询请求,所述信息查询请求中包括所述用户的标识;
处理模块122,用于根据所述用户的标识,从数据库中获取所述用户所属至少一个集合对应的权限规则,所述权限规则中包括所有采用可见方式设置的权限和/或采用不可见方式设置的权限;
所述处理模块122,还用于根据所述权限规则,确定所述用户可见的至少一个白名单集合以及不可见的至少一个黑名单集合,其中,所述用户所属的每个集合对应一个黑名单集合和一个白名单集合;
所述处理模块122,还用于根据所述至少一个集合中每个类型集合对应的权限规则的优先级,所述至少一个黑名单集合,以及所述至少一个白名单集合,计算出所述用户对应的可见性集合,所述可见性集合中包括所述用户所有可见的主体信息和/或属性信息;
发送模块123,用于根据所述可见性集合,向所述终端设备返回所述用户查询的信息。
进一步地,所述处理模块122,具体用于:
根据所述用户的标识,获取所述用户所属的至少一个集合,所述至少一个集合的类型包括组织集合,角色集合,标签集合以及其他集合中的至少一种类型;
针对所述用户所属的每个集合,从所述数据库中预先存储的规则中,查询获取所述集合对应的主体规则和属性规则;
其中,所述用户所属的每个集合对应的权限规则包括所述集合对应的主体规则和属性规则,所述主体规则包括:所述集合内的用户可见和/或不可见所述集合的用户的权限,所述集合的用户可见和/或不可见其他集合的用户的权限,所述集合的用户可见和/或不可见其他用户的权限,其他集合的用户可见和/或不可见所述集合的用户的权限,其他用户可见和/或不可见所述集合的用户的权限;所述属性规则包括所述集合的用户的可见属性和/或不可见属性的权限。
进一步地,所述处理模块122,具体还用于:
针对所述用户所属的每个集合,根据所述集合对应的权限规则,生成所述集合对应所述用户可见的白名单集合和所述用户不可见的黑名单集合;其中,每个集合对应的白名单集合包括主体白名单集合和属性白名单集合,每个集合对应的黑名单集合包括主体黑名单集合和属性黑名单集合。
进一步地,所述处理模块122,具体还用于:
针对所述至少一个集合中的每个类型的集合,分别获取每个类型的集合对应的黑名单集合和白名单集合,其中,所述每个类型的集合对应的黑名单集合包括所述类型集合的主体黑名单集合和属性黑名单集合,所述每个类型的集合对应的白名单集合包括所述类型集合的主体白名单集合和主体白名单集合;
根据每个类型集合对应的权限规则的优先级,按照优先级最低到最高的顺序,依次对每个优先级的集合对应的白名单集合和黑名单集合进行逻辑计算,得到所述用户对应的可见性集合,所述可见性集合包括主体可见性集合和属性可见性集合。
进一步地,所述处理模块122,具体还用于:
针对所述至少一个集合中的组织集合中的每个集合,先向下遍历所述用户所在的组织架构中,所述用户所在节点的主体白名单集合以及所述用户所在节点下的子节点的主体白名单集合,再遍历所述用户所在节点的上一级父节点的主体白名单集合以及所述上一级父节点下的其他节点的主体白名单集合,再遍历所述用户所在节点的上两级父节点的主体白名单集合以及所述上两级父节点下其他的其他节点的主体白名单集合,按照本步骤的方式逐级向上迭代直至达到所述组织架构的根节点,得到所述组织集合类型的每个集合对应的主体白名单集合;
先向下遍历所述用户所在的组织架构中,所述用户所在节点的主体黑名单集合以及所述用户所在节点下的子节点的主体黑名单集合,再遍历所述用户所在节点的上一级父节点的主体黑名单集合以及所述上一级父节点下的其他节点的主体黑名单集合,再遍历所述用户所在节点的上两级父节点的主体黑名单集合以及所述上两级父节点下其他的其他节点的主体黑名单集合,按照本步骤的方式逐级向上迭代直至达到所述组织架构的根节点,得到所述组织集合类型的每个集合对应的主体黑名单集合;
将所述组织集合类型的集合对应的所有主体白名单集合取并集得到所述组织类型的集合对应的主体白名单集合;
将所述组织集合类型的集合对应的所有主体黑名单集合取并集得到所述组织类型的集合对应的主体黑名单集合;
将所述组织集合类型的集合对应的所有属性黑名单集合取并集得到所述组织类型的集合对应的属性黑名单集合;
将所述组织类型的集合对应的所有属性白名单集合取并集得到所述组织类型的集合的属性白名单集合;
其中,所述组织架构为多级架构组成的树形结构,根节点为所述用户所在的最上级组织,从根节点向下的每一级节点均表示上一级的下属组织。
进一步地,所述处理模块122,具体还用于:
针对所述至少一个集合中的角色集合,标签集合以及其他集合中的任一类型的集合,将所述类型的集合对应的所有黑名单集合取并集得到所述类型的集合对应的黑名单集合;
将所述类型的集合对应的所有白名单集合取并集得到所述类型的集合的白名单集合。
进一步地,所述接收模块121,还用于获取至少一个管理用户通过其他终端设备对所述用户配置的访问权限规则;其中,所述访问权限规则包括通过可见方式或者不可见方式对所述用户所属至少一个集合配置的权限规则;
进一步地,所述处理模块122,具体还用于将所述访问权限规则存储至数据库中。
进一步地,所述接收模块121,还用于通过设置的消息中间件,获取至少一个管理用户通过所述其他终端设备对所述用户配置的访问权限规则。
进一步地,所述访问权限规则包括以下至少一种权限规则:
组织集合对应的权限规则;
角色集合对应的权限规则;
标签集合对应的权限规则;
其他集合对应的权限规则。
进一步地,所述发送模块123,还用于向所述终端设备返回所述可见性集合。
进一步地,所述信息查询请求中还包括其他用户的标识时,所述处理模块122,还用于根据所述其他用户的标识,从所述可见性集合中获取与所述其他用户的标识对应的目标信息;
进一步地,所述发送模块123,还用于将所述目标信息返回所述终端设备。
本实施例提供的通讯录可见性的处理装置,用于执行前述任一方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
图13为本申请提供的一种电子设备的结构示意图。如图13所示,该电子设备130包括:
处理器131,存储器132,以及通信接口133;
所述存储器132用于存储所述处理器131的可执行指令;
其中,所述处理器131配置为经由执行所述可执行指令来执行前述任一方法实施例中的技术方案。
可选的,存储器132既可以是独立的,也可以跟处理器131集成在一起。
可选的,当所述存储器132是独立于处理器131之外的器件时,所述电子设备130还可以包括:
总线,用于将上述器件连接起来。
该电子设备用于执行前述任一方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一方法实施例提供的技术方案。
本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现前述任一方法实施例提供的技术方案。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (15)

1.一种通讯录可见性的处理方法,其特征在于,包括:
接收用户的终端设备发送的信息查询请求,所述信息查询请求中包括所述用户的标识;
根据所述用户的标识,从数据库中获取所述用户所属至少一个集合对应的权限规则,所述权限规则中包括所有采用可见方式设置的权限和/或采用不可见方式设置的权限;
根据所述权限规则,确定所述用户可见的至少一个白名单集合以及不可见的至少一个黑名单集合,其中,所述用户所属的每个集合对应一个黑名单集合和一个白名单集合;
根据所述至少一个集合中每个类型集合对应的权限规则的优先级,所述至少一个黑名单集合,以及所述至少一个白名单集合,计算出所述用户对应的可见性集合,所述可见性集合中包括所述用户所有可见的主体信息和/或属性信息;
根据所述可见性集合,向所述终端设备返回所述用户查询的信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述用户的标识,从数据库中获取所述用户所属至少一个集合对应的权限规则,包括:
根据所述用户的标识,获取所述用户所属的至少一个集合,所述至少一个集合的类型包括组织集合,角色集合,标签集合以及其他集合中的至少一种类型;
针对所述用户所属的每个集合,从所述数据库中预先存储的规则中,查询获取所述集合对应的主体规则和属性规则;
其中,所述用户所属的每个集合对应的权限规则包括所述集合对应的主体规则和属性规则,所述主体规则包括:所述集合内的用户可见和/或不可见所述集合的用户的权限,所述集合的用户可见和/或不可见其他集合的用户的权限,所述集合的用户可见和/或不可见其他用户的权限,其他集合的用户可见和/或不可见所述集合的用户的权限,其他用户可见和/或不可见所述集合的用户的权限;所述属性规则包括所述集合的用户的可见属性和/或不可见属性的权限。
3.根据权利要求2所述的方法,其特征在于,所述根据所述权限规则,确定所述用户可见的至少一个白名单集合以及不可见的至少一个黑名单集合,包括:
针对所述用户所属的每个集合,根据所述集合对应的权限规则,生成所述集合对应所述用户可见的白名单集合和所述用户不可见的黑名单集合;其中,每个集合对应的白名单集合包括主体白名单集合和属性白名单集合,每个集合对应的黑名单集合包括主体黑名单集合和属性黑名单集合。
4.根据权利要求3所述的方法,其特征在于,所述根据所述至少一个集合中每个类型集合对应的权限规则的优先级,所述至少一个黑名单集合,以及所述至少一个白名单集合,计算出所述用户对应的可见性集合,包括:
针对所述至少一个集合中的每个类型的集合,分别获取每个类型的集合对应的黑名单集合和白名单集合,其中,所述每个类型的集合对应的黑名单集合包括所述类型集合的主体黑名单集合和属性黑名单集合,所述每个类型的集合对应的白名单集合包括所述类型集合的主体白名单集合和主体白名单集合;
根据每个类型集合对应的权限规则的优先级,按照优先级最低到最高的顺序,依次对每个优先级的集合对应的白名单集合和黑名单集合进行逻辑计算,得到所述用户对应的可见性集合,所述可见性集合包括主体可见性集合和属性可见性集合。
5.根据权利要求4所述的方法,其特征在于,所述针对所述至少一个集合中的每个类型的集合,分别获取每个类型的集合对应的黑名单集合和白名单集合,包括:
针对所述至少一个集合中的组织集合中的每个集合,先向下遍历所述用户所在的组织架构中,所述用户所在节点的主体白名单集合以及所述用户所在节点下的子节点的主体白名单集合,再遍历所述用户所在节点的上一级父节点的主体白名单集合以及所述上一级父节点下的其他节点的主体白名单集合,再遍历所述用户所在节点的上两级父节点的主体白名单集合以及所述上两级父节点下其他的其他节点的主体白名单集合,按照本步骤的方式逐级向上迭代直至达到所述组织架构的根节点,得到所述组织集合类型的每个集合对应的主体白名单集合;
先向下遍历所述用户所在的组织架构中,所述用户所在节点的主体黑名单集合以及所述用户所在节点下的子节点的主体黑名单集合,再遍历所述用户所在节点的上一级父节点的主体黑名单集合以及所述上一级父节点下的其他节点的主体黑名单集合,再遍历所述用户所在节点的上两级父节点的主体黑名单集合以及所述上两级父节点下其他的其他节点的主体黑名单集合,按照本步骤的方式逐级向上迭代直至达到所述组织架构的根节点,得到所述组织集合类型的每个集合对应的主体黑名单集合;
将所述组织集合类型的集合对应的所有主体白名单集合取并集得到所述组织类型的集合对应的主体白名单集合;
将所述组织集合类型的集合对应的所有主体黑名单集合取并集得到所述组织类型的集合对应的主体黑名单集合;
将所述组织集合类型的集合对应的所有属性黑名单集合取并集得到所述组织类型的集合对应的属性黑名单集合;
将所述组织类型的集合对应的所有属性白名单集合取并集得到所述组织类型的集合的属性白名单集合;
其中,所述组织架构为多级架构组成的树形结构,根节点为所述用户所在的最上级组织,从根节点向下的每一级节点均表示上一级的下属组织。
6.根据权利要求4所述的方法,其特征在于,所述针对所述至少一个集合中的每个类型的集合,分别获取每个类型的集合对应的黑名单集合和白名单集合,包括:
针对所述至少一个集合中的角色集合,标签集合以及其他集合中的任一类型的集合,将所述类型的集合对应的所有黑名单集合取并集得到所述类型的集合对应的黑名单集合;
将所述类型的集合对应的所有白名单集合取并集得到所述类型的集合的白名单集合。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述接收用户的终端设备发送的信息查询请求之前,所述方法还包括:
获取至少一个管理用户通过其他终端设备对所述用户配置的访问权限规则;其中,所述访问权限规则包括通过可见方式或者不可见方式对所述用户所属至少一个集合配置的权限规则;
将所述访问权限规则存储至数据库中。
8.根据权利要求7所述的方法,其特征在于,所述获取至少一个管理用户通过其他终端设备对所述用户配置的访问权限规则,包括:
通过设置的消息中间件,获取至少一个管理用户通过所述其他终端设备对所述用户配置的访问权限规则。
9.根据权利要求7所述的方法,其特征在于,所述访问权限规则包括以下至少一种权限规则:
组织集合对应的权限规则;
角色集合对应的权限规则;
标签集合对应的权限规则;
其他集合对应的权限规则。
10.根据权利要求1至6任一项所述的方法,其特征在于,所述根据所述可见性集合,向所述终端设备返回所述用户查询的信息,包括:
向所述终端设备返回所述可见性集合。
11.根据权利要求1至6任一项所述的方法,其特征在于,所述信息查询请求中还包括其他用户的标识;
相应的,所述根据所述可见性集合,向所述终端设备返回所述用户查询的信息,包括:
根据所述其他用户的标识,从所述可见性集合中获取与所述其他用户的标识对应的目标信息;
将所述目标信息返回所述终端设备。
12.一种通讯录可见性的处理装置,其特征在于,包括:
接收模块,用于接收用户的终端设备发送的信息查询请求,所述信息查询请求中包括所述用户的标识;
处理模块,用于根据所述用户的标识,从数据库中获取所述用户所属至少一个集合对应的权限规则,所述权限规则中包括所有采用可见方式设置的权限和/或采用不可见方式设置的权限;
所述处理模块,还用于根据所述权限规则,确定所述用户可见的至少一个白名单集合以及不可见的至少一个黑名单集合,其中,所述用户所属的每个集合对应一个黑名单集合和一个白名单集合;
所述处理模块,还用于根据所述至少一个集合中每个类型集合对应的权限规则的优先级,所述至少一个黑名单集合,以及所述至少一个白名单集合,计算出所述用户对应的可见性集合,所述可见性集合中包括所述用户所有可见的主体信息和/或属性信息;
发送模块,用于根据所述可见性集合,向所述终端设备返回所述用户查询的信息。
13.一种电子设备,其特征在于,包括:
处理器,存储器,通信接口;
所述存储器用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至11任一项所述的通讯录可见性的处理方法。
14.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11任一项所述的通讯录可见性的处理方法。
15.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时用于实现权利要求1至11任一项所述的通讯录可见性的处理方法。
CN202210760062.7A 2022-06-30 2022-06-30 通讯录可见性的处理方法、装置、设备及介质 Active CN115174186B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210760062.7A CN115174186B (zh) 2022-06-30 2022-06-30 通讯录可见性的处理方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210760062.7A CN115174186B (zh) 2022-06-30 2022-06-30 通讯录可见性的处理方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN115174186A true CN115174186A (zh) 2022-10-11
CN115174186B CN115174186B (zh) 2024-05-17

Family

ID=83489652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210760062.7A Active CN115174186B (zh) 2022-06-30 2022-06-30 通讯录可见性的处理方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115174186B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104333553A (zh) * 2014-11-11 2015-02-04 安徽四创电子股份有限公司 一种基于黑白名单组合的海量数据权限控制策略
CN106022101A (zh) * 2016-05-17 2016-10-12 广东欧珀移动通信有限公司 一种应用管理方法及终端
CN106657557A (zh) * 2015-10-30 2017-05-10 北京搜狗科技发展有限公司 一种信息控制方法及电子设备
CN109194711A (zh) * 2018-07-27 2019-01-11 腾讯科技(深圳)有限公司 一种组织架构的同步方法、客户端、服务端及介质
CN109862025A (zh) * 2019-02-28 2019-06-07 北京安护环宇科技有限公司 基于黑白名单的访问控制方法、装置及系统
US20200285761A1 (en) * 2019-03-07 2020-09-10 Lookout, Inc. Security policy manager to configure permissions on computing devices
CN111695092A (zh) * 2020-05-29 2020-09-22 腾讯科技(深圳)有限公司 权限管理方法、装置、电子设备及介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104333553A (zh) * 2014-11-11 2015-02-04 安徽四创电子股份有限公司 一种基于黑白名单组合的海量数据权限控制策略
CN106657557A (zh) * 2015-10-30 2017-05-10 北京搜狗科技发展有限公司 一种信息控制方法及电子设备
CN106022101A (zh) * 2016-05-17 2016-10-12 广东欧珀移动通信有限公司 一种应用管理方法及终端
CN109194711A (zh) * 2018-07-27 2019-01-11 腾讯科技(深圳)有限公司 一种组织架构的同步方法、客户端、服务端及介质
CN109862025A (zh) * 2019-02-28 2019-06-07 北京安护环宇科技有限公司 基于黑白名单的访问控制方法、装置及系统
US20200285761A1 (en) * 2019-03-07 2020-09-10 Lookout, Inc. Security policy manager to configure permissions on computing devices
CN111695092A (zh) * 2020-05-29 2020-09-22 腾讯科技(深圳)有限公司 权限管理方法、装置、电子设备及介质

Also Published As

Publication number Publication date
CN115174186B (zh) 2024-05-17

Similar Documents

Publication Publication Date Title
CN110311790B (zh) 一种跨链发送可认证消息的方法和装置
KR101800890B1 (ko) 위치 기반의 통신 방법 및 시스템
EP1328876B1 (en) System and method for intermediating information
CN105160577A (zh) 一种实现金融自助设备定点交易预约的方法和系统
CN102339430B (zh) 一种发起建立社会性网络服务关系的方法和设备
CN110188129A (zh) 人证核验终端的数据处理方法、装置、系统、设备及介质
CN105991592A (zh) 同人身份维护方法、装置及服务器
US20170308611A1 (en) Personal relationship network search system and method therefor
CN110417742B (zh) 跨链发送、中转、接收可认证消息的方法、装置及存储介质
CN105631016A (zh) 一种向导式的检索方法和系统
CN107613491A (zh) 使用增强现实获取无线接入点的密码信息
CN116860707B (zh) 基于区块链的材料基因工程大数据安全共享方法及系统
CN115174186A (zh) 通讯录可见性的处理方法、装置、设备及介质
CN108833110A (zh) 数字资产处理方法及装置
CN108389106A (zh) 整租房源的自动拼租方法及装置
EP3617972A1 (en) Trusted collaborative communications between organizations
KR101405083B1 (ko) 소셜 네트워크 서비스를 위한 사회적 관계 정보 축적 시스템 및 방법
CN116662342A (zh) 一种基于知识图谱的异构数据融合索引系统及装置
CN115482631A (zh) 信息交互方法及装置
CN106294641A (zh) 一种联络对象的定向查找方法
KR100789336B1 (ko) 인맥 서비스 제공 방법 및 그 시스템
CN113157938A (zh) 保护隐私数据的多个知识图谱联合处理的方法和装置
Schwotzer Modelling distributed knowledge management systems with topic maps
CN106446249A (zh) 一种地理信息获取方法及地理信息获取系统
CN113765958A (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