身份组系统
更新时间: 2022/12/06 14:19:39
建议前往身份组概述查看身份组相关集成文档,了解更多身份组详情。
身份组是什么
身份组是权限管理系统,核心目的是管理成员权限。
身份组分为两类,具体见下表:
分类 | 说明 |
---|---|
@所有人身份组 |
|
|
|
自定义身份组 |
|
身份组管理权限的流程
通过身份组管理权限的主要流程如下:
- 用户创建身份组,并将权限配置给身份组。
- 用户可以将圈组服务器中的某些成员加入该身份组。这些成员将拥有配置给该身份组的所有权限。
- 为自定义身份组配置权限时,只有创建者已拥有的权限才是可配置的,且默认开启。创建者没有的权限,在新建身份组中默认关闭,且不可修改。
- 强烈建议用户先配置自定义身份组的权限后再拉成员。
以上图所示场景为例,该场景下加入该身份组的成员将拥有权限1至权限6这六个权限。
服务器身份组属性
属性 | 说明 |
---|---|
基本属性 |
|
成员 | 自定义身份组创建后默认没有成员,需要创建者或有添加权限的人手动添加。 |
优先级(即等级) |
|
状态 |
|
用户可以同时属于多个身份组,最终这个人在圈组服务器或频道下的权限,取决于该用户身上所有的身份组综合计算之结果。详情请参见圈组服务器下的权限机制和频道下的权限机制。
身份组权限种类
圈组服务器下的自定义身份组可配置权限
权限名称 | 说明 |
---|---|
管理服务器 | 允许用户修改圈组服务器的基本属性,服务器名称、图标、成员数、邀请模式等。 |
管理所有频道 | 允许用户创建、更新、删除频道。 |
管理角色权限 | 允许用户管理服务器的所有频道的角色权限。 |
所有频道发送消息 | 允许用户在圈组服务器的所有频道发送消息。 |
所有频道删除他人消息 | 允许用户在圈组服务器的所有频道删除他人消息。 |
所有频道撤回他人消息 | 允许用户在圈组服务器的所有频道撤回他人消息。 |
@某个人 | 允许用户在发送消息时@某个人。 |
@所有人 | 允许用户在发送消息时@所有人。 |
@身份组 | 允许用户在发送消息时@身份组 |
邀请他人进入服务器 | 只有开启该权限,才能邀请他人加入圈组服务器。 |
踢除他人 | 允许将他人踢除出圈组服务器。被踢除的成员如果获得其他邀请,可再次加入圈组服务器。 |
修改自身服务器成员信息 | 允许修改用户自己在圈组服务器中的信息。 |
修改他人在服务器的成员信息 | 允许修改其他用户在圈组服务器中的信息。 |
管理频道名单 |
|
封禁他人 | 允许用户封禁其他服务器成员。被封禁的用户不能再次登录。 |
连接实时互动频道 | 允许用户连接自己的实时互动频道,可在频道中接收他人的声音/画面。 |
断开实时互动频道 | 允许用户断开他人的实时互动频道。 |
开启麦克风 | 允许用户在服务器的所有实时互动频道中开启自己的麦克风。 |
管理他人的麦克风 | 允许用户在服务器的所有实时互动频道中开启/关闭他人的麦克风。 |
管理全员的麦克风 | 允许用户在服务器的所有实时互动频道中开启/关闭全员的麦克风。 |
开启摄像头 | 允许用户在服务器的所有实时互动频道中开启自己的摄像头。 |
管理他人的摄像头 | 允许用户在服务器的所有实时互动频道中开启/关闭他人的摄像头。 |
管理全员的摄像头 | 允许用户在服务器的所有实时互动频道中开启/关闭全员的摄像头。 |
开启屏幕共享 | 允许用户在服务器的所有实时互动频道中共享自己的屏幕。 |
关闭他人的共享屏幕 | 允许用户在服务器的所有实时互动频道中关闭他人的共享屏幕。 |
申请/邀请管理 | 允许用户在服务器中生成邀请码。 |
查看申请/邀请历史记录 | 允许用户查看服务器的申请/邀请历史记录。 |
频道下的自定义身份组可配置权限
权限名称 | 说明 |
---|---|
管理频道 | 允许用户修改频道的基本属性,频道名称、频道类型等。 |
管理频道权限 | 允许用户变更频道的访问权限。 |
发送消息 | 允许用户在频道内发送消息。 |
删除他人消息 | 允许用户在频道内删除他人发送的消息。 |
撤回他人消息 | 允许用户在频道内撤回他人发送的消息。 |
@某人 | 允许用户在发送消息时@某人。 |
@所有人 | 允许用户在发送消息时@所有人。 |
@身份组 | 允许用户在发送消息时@身份组 |
管理频道名单 |
|
连接实时互动频道 | 允许用户连接自己的实时互动频道,可在频道中接收他人的声音/画面。 |
断开实时互动频道 | 允许用户断开他人的实时互动频道。 |
开启麦克风 | 允许用户在实时互动频道中开启自己的麦克风。 |
管理他人的麦克风 | 允许用户在实时互动频道中开启/关闭他人的麦克风。 |
管理全员的麦克风 | 允许用户在实时互动频道中开启/关闭全员的麦克风。 |
开启摄像头 | 允许用户在实时互动频道中开启自己的摄像头。 |
管理他人的摄像头 | 允许用户在实时互动频道中开启/关闭他人的摄像头。 |
管理全员的摄像头 | 允许用户在实时互动频道中开启/关闭全员的摄像头。 |
开启屏幕共享 | 允许用户在实时互动频道中共享自己的屏幕。 |
关闭他人的共享屏幕 | 允许用户在实时互动频道中关闭他人的共享屏幕。 |
圈组服务器下@所有人身份组的默认初始权限
权限名称 | 是否默认开启 | 说明 |
---|---|---|
管理服务器 | 否(用户可手动开启) | 允许用户修改圈组服务器的基本属性,服务器名称、图标、成员数、邀请模式等。 |
管理所有频道 | 否(用户可手动开启) | 允许用户创建、更新、删除频道。 |
管理角色 |
否(用户可手动开启) |
|
所有频道发送消息 | 是 | 允许用户在圈组服务器的所有频道发送消息。 |
所有频道删除他人消息 | 否(用户可手动开启) | 允许用户在圈组服务器的所有频道删除他人消息。 |
所有频道撤回他人消息 | 否(用户可手动开启) | 允许用户在圈组服务器的所有频道撤回他人消息。 |
@某个人 | 是 | 允许用户在发送消息时@某个人。 |
@所有人 | 是 | 允许用户在发送消息时@所有人。 |
@身份组 | 否 | 允许用户在发送消息时@身份组 |
邀请他人进入服务器 | 是 | 只有开启该权限,才能邀请他人加入圈组服务器。 |
踢除他人 | 否(用户可手动开启) | 允许将他人踢除出圈组服务器。被踢除的成员如果获得其他邀请,可再次加入圈组服务器。 |
修改自身服务器成员信息 | 是 | 允许修改用户自己在圈组服务器中的信息。 |
修改他人在服务器的成员信息 | 否(用户可手动开启) | 允许修改其他用户在圈组服务器中的信息。 |
管理频道名单 |
否(用户可手动开启) |
|
封禁他人 | 否(用户可手动开启) | 允许用户封禁其他服务器成员。被封禁的用户不能再次登录。 |
连接实时互动频道 | 是 | 允许用户连接自己的实时互动频道,可在频道中接收他人的声音/画面。 |
断开实时互动频道 | 否(用户可手动开启) | 允许用户断开他人的实时互动频道。 |
开启麦克风 | 是 | 允许用户在服务器的所有实时互动频道中开启自己的麦克风。 |
管理他人的麦克风 | 否(用户可手动开启) | 允许用户在服务器的所有实时互动频道中开启/关闭他人的麦克风。 |
管理全员的麦克风 | 否(用户可手动开启) | 允许用户在服务器的所有实时互动频道中开启/关闭全员的麦克风。 |
开启摄像头 | 是 | 允许用户在服务器的所有实时互动频道中开启自己的摄像头。 |
管理他人的摄像头 | 否(用户可手动开启) | 允许用户在服务器的所有实时互动频道中开启/关闭他人的摄像头。 |
管理全员的摄像头 | 否(用户可手动开启) | 允许用户在服务器的所有实时互动频道中开启/关闭全员的摄像头。 |
开启屏幕共享 | 是 | 允许用户在服务器的所有实时互动频道中共享自己的屏幕。 |
关闭他人的共享屏幕 | 否(用户可手动开启) | 允许用户在服务器的所有实时互动频道中关闭他人的共享屏幕。 |
申请/邀请管理 | 是 | 允许用户在服务器中生成邀请码。 |
查看申请/邀请历史记录 | 是 | 允许用户查看服务器的申请/邀请历史记录。 |
频道下@所有人身份组的默认初始权限
权限名称 | 是否默认开启 | 说明 |
---|---|---|
管理频道 | 否(用户可手动开启) | 允许用户创建、更新、删除频道。 |
管理频道权限 | 否(用户可手动开启) | 允许用户变更频道的访问权限。 |
发送消息 | 是 | 允许用户在频道内发送消息。 |
删除他人消息 | 否(用户可手动开启) | 允许用户在频道内删除他人发送的消息。 |
撤回他人消息 | 否(用户可手动开启) | 允许用户在频道内撤回他人发送的消息。 |
@某人 | 是 | 允许用户在发送消息时@某人。 |
@所有人 | 是 | 允许用户在发送消息时@所有频道成员。 |
@身份组 | 否 | 允许用户在发送消息时@身份组 |
管理频道名单 |
否(用户可手动开启) |
|
连接实时互动频道 | 是 | 允许用户连接自己的实时互动频道,可在频道中接收他人的声音/画面。 |
断开实时互动频道 | 否(用户可手动开启) | 允许用户断开他人的实时互动频道。 |
开启麦克风 | 是 | 允许用户在实时互动频道中开启自己的麦克风。 |
管理他人的麦克风 | 否(用户可手动开启) | 允许用户在实时互动频道中开启/关闭他人的麦克风。 |
管理全员的麦克风 | 否(用户可手动开启) | 允许用户在实时互动频道中开启/关闭全员的麦克风。 |
开启摄像头 | 是 | 允许用户在实时互动频道中开启自己的摄像头。 |
管理他人的摄像头 | 否(用户可手动开启) | 允许用户在实时互动频道中开启/关闭他人的摄像头。 |
管理全员的摄像头 | 否(用户可手动开启) | 允许用户在实时互动频道中开启/关闭全员的摄像头。 |
开启屏幕共享 | 是 | 允许用户在实时互动频道中共享自己的屏幕。 |
关闭他人的共享屏幕 | 否(用户可手动开启) | 允许用户在实时互动频道中关闭他人的共享屏幕。 |
圈组服务器下的权限机制
如何判断成员的最终权限
一名圈组服务器成员可同时属于多个身份组。 此成员在圈组服务器维度下的最终权限,为该成员所属的所有身份组权限之和。最终权限判断规则为“取有不取无、多组取并集”。
举个例子: 某个圈组服务器总共可配置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. 若为不参与判断,则该权限在此频道下没有特殊配置,继续走全局的频道权限配置。
简而言之,频道下的最终权限判断,遵循“成员权限 > 频道权限 > 圈组服务器权限”的原则。