Flutter

身份组概述

更新时间: 2024/03/07 11:39:38

身份组是拥有完善且灵活的配置机制的权限管理系统,适用于在不同维度(例如社区维度和房间维度)对用户进行差异化的权限管控。

身份组适用于对各类大型线上社区进行权限管控,具体场景可参见身份组应用场景

身份组类型

身份组分为两类,在QChatRoleType枚举内定义。

分类
API 关键字
说明

@everyone身份组(即默认身份组)

everyone

  • 在用户创建圈组服务器时默认自动创建。
  • 所有圈组服务器成员默认自动成为@everyone身份组的成员。
  • @everyone身份组不可删除。
  • @everyone身份组的权限配置只有服务器创建者可修改(权限项可开启或关闭)。
  • 每一个 @everyone 身份组的权限项都会有默认值(默认开启或关闭)。如默认关闭,服务器创建者可手动开启。具体默认值请参见下文的身份组权限项
自定义身份组 custom 用户可在服务器、频道分组和频道这三个维度创建自定义身份组。
  • 服务器自定义身份组:即服务器维度的自定义身份组,其权限项对用户在服务器维度的操作进行管控。需要用户手动创建。创建后默认没有成员,需要再手动添加身份组成员。
  • 频道分组自定义身份组:即频道分组维度的自定义身份组,其权限项可对用户在频道分组维度的操作进行管控。
  • 频道自定义身份组:即频道维度的自定义身份组,其权限项可对用户在频道维度的操作进行管控。
为自定义身份组配置权限时,只有身份组创建者已拥有的权限才是可配置的,且默认开启。创建者没有的权限,在新建身份组中默认关闭,且不可修改

身份组功能概览

身份组与其他模块的联系.png

上图中的 频道分组频道分组身份组,Flutter SDK 暂未支持。

功能
说明 相关文档
服务器身份组 在服务器维度对多个用户进行权限管控,服务器可理解为社区 服务器身份组
频道身份组 在频道维度对多个用户进行权限管控,频道可理解为社区中的小组或房间 频道身份组
用户定制权限 为频道成员专门定制权限(包含多个权限项),对其在频道维度的操作进行个人化的权限管控 用户定制权限
身份组相关查询 与身份组相关的查询能力,如查询身份组列表、身份组成员等 身份组相关查询
身份组系统通知 云信服务端在特定条件下,下发与身份组操作相关的系统通知
身份组资料内容审核 对服务器身份组的名称和图标等资料信息进行内容审核 服务器资料内容审核

身份组权限项

身份组权限项列表在QChatRoleResource类中定义,分为服务器专有的权限和非服务器专有(即在服务器维度和频道维度都可配置)的权限,且不同权限项在 @everyone 身份组是否默认开启各不相同,具体如下:

权限项
说明 是否服务器专有 @everyone 身份组中是否默认开启
accountInfoOther 修改其他服务器成员在当前服务器的成员信息的权限
accountInfoSelf 修改用户自己在当前服务器的成员信息的权限
banServerMember 封禁其他成员访问当前服务器的权限
inviteApplyHistoryQuery 查看申请或邀请历史的权限,有这个权限才可以查询服务器级别的申请或邀请记录
serverApplyHandle 处理加入服务器申请的权限
manageServer 管理服务器的权限,拥有该权限可修改服务器信息(包括基本属性,服务器名称、图标、成员数、邀请模式等)的权限
inviteServer 邀请他人加入服务器的权限
kickServer 将其他成员踢出服务器的权限
deleteMsg 删除他人消息的权限
manageBlackWhiteList 管理黑白名单的权限
manageChannel 管理频道(创建、更新、删除频道)
manageRole 管理身份组的权限
recallMsg 撤回他人消息的权限
remindEveryone @所有人的权限
remindOther @某个人的权限
mentionedRole @身份组的权限
sendMsg 发送消息的权限

权限查询与判定

服务器成员可同时属于多个身份组,同一权限在用户所属的多个身份组中的状态(开启、关闭或继承)不同时,用户实际拥有的最终权限遵循特定的判定规则,具体请参见成员权限查询与判定。

此文档是否对你有帮助?
有帮助
去反馈
  • 身份组类型
  • 身份组功能概览
  • 身份组权限项
  • 权限查询与判定