跳到主要内容

用户扩展信息的使用介绍


什么是用户扩展信息表?

用户扩展信息表是一种自定义的用户管理表,用于存储维护用户的身份标签和其他自定义信息。与组织的部门、角色、职位等身份标签相似,用户扩展信息表允许用户自定义标签并将其与特定用户关联。这样,在应用配置权限时,可以根据扩展信息表中的自定义标签为用户分配相应的权限,提供更灵活的权限管理方式。

什么是权限标签?

在用户扩展信息表中定义的人员范围标签(仅支持关联字段),如项目、团队等人员标签,记录中一旦关联了此标签,就会根据此标签查询到对应的人员,赋予其相应的角色权限。

如下图所示,权限的授予最终都是授予给具体的人,在常规的权限配置中,角色中选择的部门、组织角色、职位等分发权限,系统会找到对应的人员授予数据权限,同样,使用权限标签授权,需要从用户扩展信息表中找到标签对应的人,然后赋予相应的角色权限。

示例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

  1. 用户扩展信息表可由组织管理员统一维护,用于组织的所用应用中。

  2. 一个应用下,用户扩展信息表中最多可选择3个关联记录字段作为标签字段

    用户扩展信息表可由组织管理员统一维护,用于组织的所用应用中,那么可能需要的标签有很多种。一个应用下最多选择3个关联字段作为标签。如下图有表5个标签(关联字段),当前应用启用扩展信息时,最多只能选择3个关联字段作为标签。

  3. 标签数量限制

    • 对于同一个标签字段,一个用户最多只能获取1000个标签,如场景示例中,1个成员最多选择1000个项目,如果超过1000个,则仅获取前1000个项目标签。

    • 根据标签获取记录,记录数量不限制,有多少记录打了此标签,就能扩展获取到这些记录的权限。