身份组概述
更新时间: 2024/07/04 19:10:28
身份组是拥有完善且灵活的配置机制的权限管理系统,它包含两大元素:权限组和拥有这些权限的用户。身份组适用于在不同维度(例如社区维度和房间维度)对用户进行差异化的权限管控。
身份组适用于对各类大型线上社区进行权限管控,具体场景可参见身份组应用场景。
身份组类型
身份组分为两类,在QChatRoleType
枚举内定义。
分类 |
API 关键字 |
说明 |
---|---|---|
@everyone身份组(即默认身份组) |
|
|
自定义身份组 | CUSTOM |
用户可在服务器、频道分组和频道这三个维度创建自定义身份组。
|
身份组功能概览
功能 |
说明 | 相关文档 |
---|---|---|
服务器身份组 | 在服务器维度对多个用户进行权限管控,服务器可理解为社区 | 服务器身份组 |
频道分组身份组 | 在频道分组维度对多个用户进行权限管控 | 频道分组身份组 |
频道身份组 | 在频道维度对多个用户进行权限管控,频道可理解为社区中的小组或房间 | 频道身份组 |
用户定制权限 | 为频道成员专门定制权限(包含多个权限项),对其在频道维度的操作进行个人化的权限管控 | 用户定制权限 |
自定义权限项 | 添加自定义权限项,实现符合应用特殊需求的权限管控能力 | 自定义权限 |
身份组相关查询 | 与身份组相关的查询能力,如查询身份组列表、身份组成员等 | 身份组相关查询 |
身份组系统通知 | 云信服务端在特定条件下,下发与身份组操作相关的系统通知 | |
身份组内容审核 | 对服务器身份组的名称和图标等资料信息进行内容审核 | 服务器身份组资料内容审核 |
身份组权限项
身份组权限项列表在QChatRoleResource
类中定义,分为服务器专有的权限和非服务器专有(即在服务器维度和频道维度都可配置)的权限,且不同权限项在 @everyone 身份组是否默认开启各不相同,具体如下:
权限项 | 说明 | 是否服务器专有 | @everyone 身份组中是否默认开启 |
---|---|---|---|
ACCOUNT_INFO_OTHER |
修改他人的服务器成员信息的权限 | 是 | 否 |
ACCOUNT_INFO_SELF |
修改自己的服务器成员信息的权限 | 是 | 是 |
BAN_SERVER_MEMBER |
封禁其他成员访问当前服务器的权限 | 是 | 否 |
INVITE_APPLY_HISTORY_QUERY |
查看申请或邀请历史的权限,有这个权限才可以查询服务器级别的申请或邀请记录 | 是 | 是 |
SERVER_APPLY_HANDLE |
处理加入服务器申请的权限 | 是 | 是 |
MANAGE_SERVER |
管理服务器的权限,拥有该权限可修改服务器的配置信息(包括基本属性,服务器名称、图标、成员数、邀请模式等) | 是 | 否 |
INVITE_SERVER |
邀请他人加入服务器的权限 | 是 | 是 |
KICK_SERVER |
将其他成员踢出服务器的权限 | 是 | 否 |
DELETE_MSG |
删除他人消息的权限 | 否 | 否 |
MANAGE_BLACK_WHITE_LIST |
管理黑白名单的权限 | 否 | 否 |
MANAGE_CHANNEL |
管理频道的权限,拥有该权限可创建、修改或删除频道 | 否 | 否 |
MANAGE_ROLE |
管理角色的权限,拥有该权限可创建、修改或删除身份组 | 否 | 否 |
RECALL_MSG |
撤回他人消息的权限 | 否 | 否 |
REMIND_EVERYONE |
@所有人的权限 | 否 | 是 |
REMIND_OTHER |
@某个人的权限 | 否 | 是 |
MENTIONED_ROLE |
@身份组的权限 | 否 | 否 |
SEND_MSG |
发送消息的权限 | 否 | 是 |
RTC_CHANNEL_CLOSE_OTHER_SCREEN_SHARE |
在实时互动频道关闭他人屏幕共享的权限 | 否 | 否 |
RTC_CHANNEL_CONNECT |
在实时互动频道建立用户自己的连接的权限 | 否 | 是 |
RTC_CHANNEL_DISCONNECT_OTHER |
在实时互动频道断开他人连接的权限 | 否 | 否 |
RTC_CHANNEL_OPEN_CAMERA |
在实时互动频道开启摄像头的权限 | 否 | 是 |
RTC_CHANNEL_OPEN_CLOSE_EVERYONE_CAMERA |
在实时互动频道开启或关闭全员摄像头的权限 | 否 | 否 |
RTC_CHANNEL_OPEN_CLOSE_EVERYONE_MICROPHONE |
在实时互动频道开启或关闭全员麦克风的权限 | 否 | 否 |
RTC_CHANNEL_OPEN_CLOSE_OTHER_CAMERA |
在实时互动频道开启或关闭他人摄像头的权限 | 否 | 否 |
RTC_CHANNEL_OPEN_CLOSE_OTHER_MICROPHONE |
在实时互动频道开启或关闭他人麦克风的权限 | 否 | 否 |
RTC_CHANNEL_OPEN_MICROPHONE |
在实时互动频道开启麦克风的权限 | 否 | 是 |
RTC_CHANNEL_OPEN_SCREEN_SHARE |
在实时互动频道打开自己屏幕共享的权限 | 否 | 是 |
MUTE |
临时禁言/解除禁言其他成员的权限 | 否 | 否 |
除上述身份组预定义的权限项,您还可通过云信 IM 服务端 API 创建自定义权限项,满足您的应用在自身业务场景下对于用户操作管控的特有需求。实现通过自定义权限管控用户操作的流程说明,请参见自定义权限。
权限查询与判定
服务器成员可同时属于多个身份组,同一权限在用户所属的多个身份组中的状态(开启、关闭或继承)不同时,用户实际拥有的最终权限遵循特定的判定规则,具体请参见成员权限查询与判定。
此文档是否对你有帮助?