身份组系统

更新时间: 2023/07/21 06:55:28

建议前往身份组概述查看身份组相关集成文档,了解更多身份组详情。

身份组是什么

身份组是权限管理系统,核心目的是管理成员权限。

身份组分为两类,具体见下表:

分类 说明

@所有人身份组

  • 在用户创建圈组服务器时默认创建。
  • 所有圈组服务器成员默认为@所有人身份组的成员。
  • 该身份组不可删除。
  • 该身份组的权限配置只有服务器创建者可修改。
  • 每一个 appkey 的@所有人身份组的权限都会有默认值(默认开启或关闭)。如默认关闭,用户可手动开启。具体权限信息见圈组服务器下@所有人身份组的权限频道下@所有人身份组的权限

自定义身份组

  • 需要用户主动创建。
  • 创建时会要求键入一些属性,如名称等。属性详情请参见身份组属性
  • 创建后需要创建者手动将服务器成员加入自定义身份组。

身份组管理权限的流程

通过身份组管理权限的主要流程如下:

  1. 用户创建身份组,并将权限配置给身份组。
  2. 用户可以将圈组服务器中的某些成员加入该身份组。这些成员将拥有配置给该身份组的所有权限。
  • 为自定义身份组配置权限时,只有创建者已拥有的权限才是可配置的,且默认开启。创建者没有的权限,在新建身份组中默认关闭,且不可修改。
  • 建议用户先配置自定义身份组的权限后再拉成员。

身份组使用流程.png

以上图所示场景为例,该场景下加入该身份组的成员将拥有权限1至权限6这六个权限。

身份组权限下发.png

服务器身份组属性

属性 说明

基本属性

  • 身份组名称
  • 自定义字段
  • 头像
成员 自定义身份组创建后默认没有成员,需要创建者或有添加权限的人手动添加。

优先级(即等级)

  • 身份组有高低优先级之分。
  • 当用户的管理角色功能开启,可对优先级低于自身最高身份组的其他身份组进行操作,也可创建一个新的低优先级身份组,并对其进行优先级排序。
  • 新的自定义身份组被创建后,其优先级默认为已有自定义身份组中的最低级。
  • 自定义身份组优先级永远高于@所有人身份组。
    • 身份组优先级仅用于判断某个身份组的成员,是否能够对其他身份组进行操作(例如修改其他身份组的权限配置),假如用户所在身份组的优先级,高于待操作的身份组的优先级,则用户可对后者进行操作。身份组优先级与用户的最终拥有权限的判定无关
    • 用户可在创建身份组时,设置其优先级。如需判断多个服务器身份组的优先级,可通过查询服务器身份组列表的结果排序进行判断,默认按优先级从大到小进行排序,但第一页查询结果第一项的 @everyone 身份组,优先级低于排在其后的所有自定义身份组)。

状态

  • 圈组服务器维度下:打开、关闭
  • 频道维度下:打开、关闭、不参与判断

用户可以同时属于多个身份组,最终这个人在圈组服务器或频道下的权限,取决于该用户身上所有的身份组综合计算之结果。详情请参见圈组服务器下的权限机制频道下的权限机制

身份组权限种类

圈组服务器下的自定义身份组可配置权限

权限名称 说明
管理服务器 允许用户修改圈组服务器的基本属性,服务器名称、图标、成员数、邀请模式等。
管理所有频道 允许用户创建、更新、删除频道。
管理角色权限 允许用户管理服务器的所有频道的角色权限。
所有频道发送消息 允许用户在圈组服务器的所有频道发送消息。
所有频道删除他人消息 允许用户在圈组服务器的所有频道删除他人消息。
所有频道撤回他人消息 允许用户在圈组服务器的所有频道撤回他人消息。
@某个人 允许用户在发送消息时@某个人。
@所有人 允许用户在发送消息时@所有人。
@身份组 允许用户在发送消息时@身份组
邀请他人进入服务器 只有开启该权限,才能邀请他人加入圈组服务器。
踢除他人 允许将他人踢除出圈组服务器。被踢除的成员如果获得其他邀请,可再次加入圈组服务器。
修改自身服务器成员信息 允许修改用户自己在圈组服务器中的信息。
修改他人在服务器的成员信息 允许修改其他用户在圈组服务器中的信息。

管理频道名单

  • 允许用户为公开频道添加黑名单。
  • 允许用户为私密频道添加白名单。
封禁他人 允许用户封禁其他服务器成员。被封禁的用户不能再次登录。
连接实时互动频道 允许用户连接自己的实时互动频道,可在频道中接收他人的声音/画面。
断开实时互动频道 允许用户断开他人的实时互动频道。
开启麦克风 允许用户在服务器的所有实时互动频道中开启自己的麦克风。
管理他人的麦克风 允许用户在服务器的所有实时互动频道中开启/关闭他人的麦克风。
管理全员的麦克风 允许用户在服务器的所有实时互动频道中开启/关闭全员的麦克风。
开启摄像头 允许用户在服务器的所有实时互动频道中开启自己的摄像头。
管理他人的摄像头 允许用户在服务器的所有实时互动频道中开启/关闭他人的摄像头。
管理全员的摄像头 允许用户在服务器的所有实时互动频道中开启/关闭全员的摄像头。
开启屏幕共享 允许用户在服务器的所有实时互动频道中共享自己的屏幕。
关闭他人的共享屏幕 允许用户在服务器的所有实时互动频道中关闭他人的共享屏幕。
申请/邀请管理 允许用户在服务器中生成邀请码。
查看申请/邀请历史记录 允许用户查看服务器的申请/邀请历史记录。

频道下的自定义身份组可配置权限

权限名称 说明
管理频道 允许用户修改频道的基本属性,频道名称、频道类型等。
管理频道权限 允许用户变更频道的访问权限。
发送消息 允许用户在频道内发送消息。
删除他人消息 允许用户在频道内删除他人发送的消息。
撤回他人消息 允许用户在频道内撤回他人发送的消息。
@某人 允许用户在发送消息时@某人。
@所有人 允许用户在发送消息时@所有人。
@身份组 允许用户在发送消息时@身份组

管理频道名单

  • 允许用户为公开频道添加黑名单。
  • 允许用户为私密频道添加白名单。
连接实时互动频道 允许用户连接自己的实时互动频道,可在频道中接收他人的声音/画面。
断开实时互动频道 允许用户断开他人的实时互动频道。
开启麦克风 允许用户在实时互动频道中开启自己的麦克风。
管理他人的麦克风 允许用户在实时互动频道中开启/关闭他人的麦克风。
管理全员的麦克风 允许用户在实时互动频道中开启/关闭全员的麦克风。
开启摄像头 允许用户在实时互动频道中开启自己的摄像头。
管理他人的摄像头 允许用户在实时互动频道中开启/关闭他人的摄像头。
管理全员的摄像头 允许用户在实时互动频道中开启/关闭全员的摄像头。
开启屏幕共享 允许用户在实时互动频道中共享自己的屏幕。
关闭他人的共享屏幕 允许用户在实时互动频道中关闭他人的共享屏幕。

圈组服务器下@所有人身份组的默认初始权限

权限名称 是否默认开启 说明
管理服务器 否(用户可手动开启) 允许用户修改圈组服务器的基本属性,服务器名称、图标、成员数、邀请模式等。
管理所有频道 否(用户可手动开启) 允许用户创建、更新、删除频道。

管理角色

否(用户可手动开启)

  • 允许用户创建、排序、编辑一个比自己身份组等级更低的身份组。当用户开启了该角色,该用户可以对所有等级低于自己最高身份组的身份组进行权限变更。变更的权限范围为自己所有身份组的允许权限之和。
  • 允许用户变更可访问频道的权限。
所有频道发送消息 允许用户在圈组服务器的所有频道发送消息。
所有频道删除他人消息 否(用户可手动开启) 允许用户在圈组服务器的所有频道删除他人消息。
所有频道撤回他人消息 否(用户可手动开启) 允许用户在圈组服务器的所有频道撤回他人消息。
@某个人 允许用户在发送消息时@某个人。
@所有人 允许用户在发送消息时@所有人。
@身份组 允许用户在发送消息时@身份组
邀请他人进入服务器 只有开启该权限,才能邀请他人加入圈组服务器。
踢除他人 否(用户可手动开启) 允许将他人踢除出圈组服务器。被踢除的成员如果获得其他邀请,可再次加入圈组服务器。
修改自身服务器成员信息 允许修改用户自己在圈组服务器中的信息。
修改他人在服务器的成员信息 否(用户可手动开启) 允许修改其他用户在圈组服务器中的信息。

管理频道名单

否(用户可手动开启)

  • 允许用户为公开频道添加黑名单。
  • 允许用户为私密频道添加白名单。
封禁他人 否(用户可手动开启) 允许用户封禁其他服务器成员。被封禁的用户不能再次登录。
连接实时互动频道 允许用户连接自己的实时互动频道,可在频道中接收他人的声音/画面。
断开实时互动频道 否(用户可手动开启) 允许用户断开他人的实时互动频道。
开启麦克风 允许用户在服务器的所有实时互动频道中开启自己的麦克风。
管理他人的麦克风 否(用户可手动开启) 允许用户在服务器的所有实时互动频道中开启/关闭他人的麦克风。
管理全员的麦克风 否(用户可手动开启) 允许用户在服务器的所有实时互动频道中开启/关闭全员的麦克风。
开启摄像头 允许用户在服务器的所有实时互动频道中开启自己的摄像头。
管理他人的摄像头 否(用户可手动开启) 允许用户在服务器的所有实时互动频道中开启/关闭他人的摄像头。
管理全员的摄像头 否(用户可手动开启) 允许用户在服务器的所有实时互动频道中开启/关闭全员的摄像头。
开启屏幕共享 允许用户在服务器的所有实时互动频道中共享自己的屏幕。
关闭他人的共享屏幕 否(用户可手动开启) 允许用户在服务器的所有实时互动频道中关闭他人的共享屏幕。
申请/邀请管理 允许用户在服务器中生成邀请码。
查看申请/邀请历史记录 允许用户查看服务器的申请/邀请历史记录。

频道下@所有人身份组的默认初始权限

权限名称 是否默认开启 说明
管理频道 否(用户可手动开启) 允许用户创建、更新、删除频道。
管理频道权限 否(用户可手动开启) 允许用户变更频道的访问权限。
发送消息 允许用户在频道内发送消息。
删除他人消息 否(用户可手动开启) 允许用户在频道内删除他人发送的消息。
撤回他人消息 否(用户可手动开启) 允许用户在频道内撤回他人发送的消息。
@某人 允许用户在发送消息时@某人。
@所有人 允许用户在发送消息时@所有频道成员。
@身份组 允许用户在发送消息时@身份组

管理频道名单

否(用户可手动开启)

  • 允许用户为公开频道添加黑名单。
  • 允许用户为私密频道添加白名单。
连接实时互动频道 允许用户连接自己的实时互动频道,可在频道中接收他人的声音/画面。
断开实时互动频道 否(用户可手动开启) 允许用户断开他人的实时互动频道。
开启麦克风 允许用户在实时互动频道中开启自己的麦克风。
管理他人的麦克风 否(用户可手动开启) 允许用户在实时互动频道中开启/关闭他人的麦克风。
管理全员的麦克风 否(用户可手动开启) 允许用户在实时互动频道中开启/关闭全员的麦克风。
开启摄像头 允许用户在实时互动频道中开启自己的摄像头。
管理他人的摄像头 否(用户可手动开启) 允许用户在实时互动频道中开启/关闭他人的摄像头。
管理全员的摄像头 否(用户可手动开启) 允许用户在实时互动频道中开启/关闭全员的摄像头。
开启屏幕共享 允许用户在实时互动频道中共享自己的屏幕。
关闭他人的共享屏幕 否(用户可手动开启) 允许用户在实时互动频道中关闭他人的共享屏幕。

圈组服务器下的权限机制

如何判断成员的最终权限

一名圈组服务器成员可同时属于多个身份组。 此成员在圈组服务器维度下的最终权限,为该成员所属的所有身份组权限之和。最终权限判断规则为“取有不取无、多组取并集”。

举个例子: 某个圈组服务器总共可配置6个权限 成员小云同时属于身份组A和身份组B。身份组A拥有前3个权限,身份组B拥有后3个权限。 此时小云的权限为“前3个权限(因为身份组A)”与“后3个权限(因为身份组B)”的并集,具体如下表:

身份组A 身份组B 小云在该服务器的最终权限
权限1 有 (因为身份组A)
权限2 有 (因为身份组A)
权限3 有 (因为身份组A)
权限4 有 (因为身份组B)
权限5 有 (因为身份组B)
权限6 有 (因为身份组B)

管理角色权限的特殊规则(圈组服务器维度)

管理角色权限有如下特殊规则:

规则 说明
1 管理角色权限的拥有者,只能变更低于其最高身份组的身份组权限。
2 当管理角色权限的拥有者想去变更某个低身份组的某项权限时,首先其自身必须有该权限,即该拥有者所在的所有身份组中,至少有一个身份组为其赋予过该权限。
3 在不删除一个身份组的情况下,管理角色权限的拥有者无法删除自己的已有权限。
4 管理权限拥有者如需删除某个权限,可删除拥有此权限的身份组。

为方便理解上述4点规则,我们举如下例子进行说明。

假设某圈组服务器有如下表所示的4个身份组,小云属于身份组1和身份组2。

身份组 权限 权限有无
身份组1(小云为成员) 发送消息 有√
管理角色 有√
@所有人
踢除他人
身份组2(小云为成员) 发送消息
管理角色
@所有人 有√
踢除他人
身份组3 发送消息
管理角色
@所有人
踢除他人 有 √
@所有人身份组 发送消息
管理角色
@所有人
踢除他人
  • 对应规则1:因为小云是身份组1的成员,身份组1有管理角色权限,所以小云可以对等级低于于身份组1的身份组2、3、4进行权限修改,但是不可对身份组1进行修改。
  • 对应规则2:因为属于身份组1和身份组2,小云拥有“发送消息”、“管理角色”、“@所有人”这3个权限。但遗憾的是,这两个身份组并没有给小云赋予“踢除他人”的权限,所以小云在修改其他身份组权限时,是不能改变更“踢除他人”权限的。
  • 对应规则3:小云所属的最高等级身份组是身份组1,所以可以对身份组2进行权限修改,但他不能将身份组2中的“@所有人”设为关闭,因为小云在圈组服务器中的“@所有人”权限只有身份组2赋予了,如果他将此权限关闭,那么他在这个服务器里将再也没有“@所有人”权限。
  • 对应规则4:小云如果一定要关闭“@所有人”权限,只能把身份组2删除。

频道下的权限机制

为何在频道维度配置权限

圈组服务器下的每个频道都会有各自的风格和规则。某些频道可能是一小部分成员的小天地,有自己的规矩,此时,需要对这些频道单独进行权限设置。

频道成员权限

与圈组服务器维度不同的是,频道维度下,权限的配置项,除了开启关闭,还有不参与判断。用户可以将某个自定义身份组或者个人拉进某个频道,进行单独权限配置。@所有人身份组默认在频道中,且所有权限状态均为不参与判断

回到圈组服务器下的权限机制里举的小云的例子:频道下的最终权限判断,按照下述优先级依次进行。

  • 如果某频道对小云的某项权限进行了单独的设置,则优先取该值,不再做其他判断。
  • 如果某频道对小云的某项权限无设置,而对小云拥有的某个身份组的该项权限进行了单独的设置,那么先算自定义身份组们在频道里的值:1.只要有一个身份组对该项权限的值为开启则最终结果为开启,不再做其他判断;2.若所有身份组对该项权限都关闭,则最终结果为关闭,不再做其他判断;3. 若所有的身份组对该项权限的配置全部为不参与判断,则最终结果为不参与判断
  • 当所有自定义身份组对该项权限的最终判断结果为不参与判断,那么看@所有人身份组对该项权限的设置:1. 若为开启,则最终结果为开启;2. 如为关闭,则最终结果为关闭;3. 若为不参与判断,则该权限在此频道下没有特殊配置,继续走全局的频道权限配置。

简而言之,频道下的最终权限判断,遵循“成员权限 > 频道权限 > 圈组服务器权限”的原则。

此文档是否对你有帮助?
有帮助
去反馈
  • 身份组是什么
  • 身份组管理权限的流程
  • 服务器身份组属性
  • 身份组权限种类
  • 圈组服务器下的自定义身份组可配置权限
  • 频道下的自定义身份组可配置权限
  • 圈组服务器下@所有人身份组的默认初始权限
  • 频道下@所有人身份组的默认初始权限
  • 圈组服务器下的权限机制
  • 如何判断成员的最终权限
  • 管理角色权限的特殊规则(圈组服务器维度)
  • 频道下的权限机制
  • 为何在频道维度配置权限
  • 频道成员权限