用户扩展信息的使用介绍
什么是用户扩展信息表?
用户扩展信息表是一种自定义的用户管理表,用于存储维护用户的身份标签和其他自定义信息。与组织的部门、角色、职位等身份标签相似,用户扩展信息表允许用户自定义标签并将其与特定用户关联。这样,在应用配置权限时,可以根据扩展信息表中的自定义标签为用户分配相应的权限,提供更灵活的权限管理方式。
什么是权限标签?
在用户扩展信息表中定义的人员范围标签(仅支持关联字段),如项目、团队等人员标签,记录中一旦关联了此标签,就会根据此标签查询到对应的人员,赋予其相应的角色权限。
如下图所示,权限的授予最终都是授予给具体的人,在常规的权限配置中,角色中选择的部门、组织角色、职位等分发权限,系统会找到对应的人员授予数据权限,同样,使用权限标签授权,需要从用户扩展信息表中找到标签对应的人,然后赋予相应的角色权限。
示例1:单个权限标签
如果只需要管理一个权限标签,那么用户扩展信息表可以直接作为标签表来使用,即用户扩展信息表和标签表为同一个表。
需求场景: 在订单管理中,订单的签约顾问和其上司是需要查看此订单的,通过权限配置结合汇报关系直接可以实现。但是团队中的其他成员也需要查看一些的信息,就不能简单的通过部门、组织角色、职位来实现了。
我们以需求场景中的订单管理需求为背景,介绍下用户扩展信息的使用和配置方法。
1、表单结构设计
需要2张表:订单表(业务表)、人员标签管理表(用户扩展信息表)。
订单表
除了必要字段外,需要关联团队记录(关联“人员标签管理表”),表示此订单归属于哪个团队,使此团队的人员都可以查看此订单。
人员标签管理表
我们以最简洁的字段设计举例:成员字段和团队字段,即哪些成员属于此团队。成员和团队都可以是多选,即1个团队包含多个成员,1个成员也可以归属/管理多个团队。
2、启用用户扩展信息
应用下进入[用户] > [常规] > [扩展], 然后点击[建立用户扩展信息表]按钮。
选择应用和工作表
选择扩展信息表及其所在的应用,此步骤是建立账户和管理对象的权限映射关系。在第一步我们已经建好了人员标签管理表,选择此表即可。
用户映射
选择的是人员标签管理表中的“人员”字段作为用户映射字段,业务表中通过关联的标签去查找此字段的人员去赋予权限。
不支持选择外部成员字段
选择用户扩展信息字段作为用户权限标签
我们这里选择本表(即用户标签管理表)作为权限标签,当用团队成员登录后,去获取包含此用户的标签记录,进而获取归属与此标签(团队)的订单,以实现订单的权限配置。
3、配置角色权限及效果
权限标签也可以理解为一个记录范围,就像我拥有的、我加入的一样,需要在业务对象表中配置操作范围时选择标签。
为订单表配置权限:
实现效果:
如下图,张明没有签约任何订单,但是通过郑州队的标签,可以看到001、002和003三个订单。
示例2:多个权限标签
在第一个示例中,只有一个维度的标签管理需求,如果有更多的标签需求,如按项目、产品线、区域等维度来管理人员,那就需要建立多个标签表了。
我们来扩展下示例1的需求: 在订单管理中,订单的签约顾问和其上司是需要查看此订单的,通过权限配置结合汇报关系直接可以实现。但是团队(销售团队)中的其他成员以及负责此客户项目的人员(包含售前技术、开发、实施等人员)也需要查看相关信息,我们来看下如何通过扩展信息实现。
1、表单结构设计
需要4张表:业务表、两个标签,1个用户扩展信息表。
在本需求中,需要建立订单表、团队标签表、项目标签表、人员标签管理表
订单表
除了必要订单信息字段外,还需要关联团队标签、关联项目标签,这样可以表示此订单归属于哪个销售团队,哪个项目组。
人员标签管理表
字段有:人员字段、团队标签(关联团队标签标签)、项目标签(关联项目标签表)
根据业务需要,一个人员可以关联多个团队,多个项目。
团队标签表
团队名称、团队人员(关联人员标签管理表)
项目标签表
项目名称、团队人员(关联人员标签管理表)
4个表具体的数据结构如下图:
2、启用用户扩展信息
应用下进入[用户] > [常规] > [扩展], 然后点击[建立用户扩展信息表]按钮。
选择应用和工作表
选择扩展信息表及其所在的应用,此步骤是建立账户和管理对象的权限映射关系。在第一步我们已经建好了人员标签管理表,选择此表即可。
用户映射
选择的是人员标签管理表中的“人员”字段作为用户映射字段,业务表中通过关联的标签去查找此字段的人员去赋予权限。
不支持选择外部成员字段
选择用户扩展信息字段作为用户权限标签
我们需要将团队和项目作为标签,就选择“人员标签管理表” 中的两个关联字段"所属团队"和"所属项目” 作为标签。当用团队成员进入应用后,会获取包含此用户的所有标签,进而获取关联了标签(团队、项目)的订单,以实现订单的权限配置。
3、配置角色权限及效果
权限标签也可以理解为一个记录范围,就像我拥有的、我加入的一样,需要在业务对象表中配置操作范围时选择标签。
为订单表配置权限:
实现效果:
如下图,Ross没有签约任何订单,但是001和003两个订单打了郑州队的标签,Ross也有权限看到了,同样,Fannie 通过“连霍高速”项目标签,可以看到001、003、004三个订单。
标签和其他成员范围的关系
在角色权限的记录范围中,定义了记录成员范围,如"全部"或"用户加入的"。 与添加的权限标签默认为"或"的关系,表示除了记录成员范围外,匹配到权限标签的成员也会额外拥有权限。
可设置为“且”的关系,表示除了记录成员范围外,必须同时匹配此权限标签后才能拥有权限。
例如:用户加入的、团队标签(或)、项目标签(且)
则表示最终有此记录权限的成员范围是:{用户加入的成员 或 团队标签的成员} 且 是项目标签的成员。
TIPS
用户扩展信息表可由组织管理员统一维护,用于组织的所用应用中。
一个应用下,用户扩展信息表中最多可选择3个关联记录字段作为标签字段
用户扩展信息表可由组织管理员统一维护,用于组织的所用应用中,那么可能需要的标签有很多种。一个应用下最多选择3个关联字段作为标签。如下图有表5个标签(关联字段),当前应用启用扩展信息时,最多只能选择3个关联字段作为标签。
标签数量限制
对于同一个标签字段,一个用户最多只能获取1000个标签,如场景示例中,1个成员最多选择1000个项目,如果超过1000个,则仅获取前1000个项目标签。
根据标签获取记录,记录数量不限制,有多少记录打了此标签,就能扩展获取到这些记录的权限。