身份组概述
更新时间: 2024/03/07 11:39:38
身份组是拥有完善且灵活的配置机制的权限管理系统,适用于在不同维度(例如社区维度和房间维度)对用户进行差异化的权限管控。
身份组适用于对各类大型线上社区进行权限管控,具体场景可参见身份组应用场景。
身份组类型
身份组分为两类,在QChatRoleType
枚举内定义。
分类 |
API 关键字 |
说明 |
---|---|---|
@everyone身份组(即默认身份组) |
|
|
自定义身份组 | custom |
用户可在服务器、频道分组和频道这三个维度创建自定义身份组。
|
第一期暂不支持
::: note note
除上述身份组预定义的权限项,您还可通过云信 IM 服务端 API 创建自定义权限项,满足您的应用在自身业务场景下对于用户操作管控的特有需求。实现通过自定义权限管控用户操作的流程说明,请参见自定义权限。
:::
身份组功能概览
上图中的 频道分组 和 频道分组身份组,Flutter SDK 暂未支持。
功能 |
说明 | 相关文档 |
---|---|---|
服务器身份组 | 在服务器维度对多个用户进行权限管控,服务器可理解为社区 | 服务器身份组 |
频道身份组 | 在频道维度对多个用户进行权限管控,频道可理解为社区中的小组或房间 | 频道身份组 |
用户定制权限 | 为频道成员专门定制权限(包含多个权限项),对其在频道维度的操作进行个人化的权限管控 | 用户定制权限 |
身份组相关查询 | 与身份组相关的查询能力,如查询身份组列表、身份组成员等 | 身份组相关查询 |
身份组系统通知 | 云信服务端在特定条件下,下发与身份组操作相关的系统通知 | |
身份组资料内容审核 | 对服务器身份组的名称和图标等资料信息进行内容审核 | 服务器资料内容审核 |
身份组权限项
身份组权限项列表在QChatRoleResource
类中定义,分为服务器专有的权限和非服务器专有(即在服务器维度和频道维度都可配置)的权限,且不同权限项在 @everyone 身份组是否默认开启各不相同,具体如下:
权限项 |
说明 | 是否服务器专有 | @everyone 身份组中是否默认开启 |
---|---|---|---|
accountInfoOther |
修改其他服务器成员在当前服务器的成员信息的权限 | 是 | 否 |
accountInfoSelf |
修改用户自己在当前服务器的成员信息的权限 | 是 | 是 |
banServerMember |
封禁其他成员访问当前服务器的权限 | 是 | 否 |
inviteApplyHistoryQuery |
查看申请或邀请历史的权限,有这个权限才可以查询服务器级别的申请或邀请记录 | 是 | 是 |
serverApplyHandle |
处理加入服务器申请的权限 | 是 | 是 |
manageServer |
管理服务器的权限,拥有该权限可修改服务器信息(包括基本属性,服务器名称、图标、成员数、邀请模式等)的权限 | 是 | 否 |
inviteServer |
邀请他人加入服务器的权限 | 是 | 是 |
kickServer |
将其他成员踢出服务器的权限 | 是 | 否 |
deleteMsg |
删除他人消息的权限 | 否 | 否 |
manageBlackWhiteList |
管理黑白名单的权限 | 否 | 否 |
manageChannel |
管理频道(创建、更新、删除频道) | 否 | 否 |
manageRole |
管理身份组的权限 | 否 | 否 |
recallMsg |
撤回他人消息的权限 | 否 | 否 |
remindEveryone |
@所有人的权限 | 否 | 是 |
remindOther |
@某个人的权限 | 否 | 是 |
mentionedRole |
@身份组的权限 | 否 | 否 |
sendMsg |
发送消息的权限 | 否 | 是 |
第一期暂不支持
`rtcChannelCloseOtherScreenShare` | 在实时互动频道关闭他人屏幕共享的权限 | 否 | 否
`rtcChannelConnect` | 在实时互动频道建立用户自己的连接的权限 | 否 |是
`rtcChannelDisconnectOther` | 在实时互动频道断开他人连接的权限 | 否 |否
`rtcChannelOpenCamera` | 在实时互动频道开启摄像头的权限 |否 |是
`rtcChannelOpenCloseEveryoneCamera` | 在实时互动频道开启或关闭全员摄像头的权限|否| 否
`rtcChannelOpenCloseEveryoneMicrophone` | 在实时互动频道开启或关闭全员麦克风的权限| 否 | 否
`rtcChannelOpenCloseOtherCamera` | 在实时互动频道开启或关闭他人摄像头的权限| 否 |否
`RTC_CHANNEL_OPEN_CLOSE_OTHER_MICROPHONE` | 在实时互动频道开启或关闭他人麦克风的权限| 否 | 否
`rtcChannelOpenCloseOtherMicrophone` | 在实时互动频道开启麦克风的权限 | 否 |是
`rtcChannelOpenScreenShare` | 在实时互动频道打开自己屏幕共享的权限 | 否 |是
权限查询与判定
服务器成员可同时属于多个身份组,同一权限在用户所属的多个身份组中的状态(开启、关闭或继承)不同时,用户实际拥有的最终权限遵循特定的判定规则,具体请参见成员权限查询与判定。
此文档是否对你有帮助?