当前位置:首页-文章-规范征求-正文

RFC3 春松客服用户账户体系和权限设计

底稿地址:https://github.com/cskefu/design/tree/master/rfcs/2022_12_27_RFC3_CSKeFu_AccounsNPermission

账户和权限简单化

春松客服的账户体系设计遵从简单的原则,主要支持小微团队、扁平化管理。一个大型的企业或大团队,也以其分为若干小团队运营来支持。这一设想是源于一些成功的产品,比如 Atlassian Confluence

  • 将账户和权限体系分为:用户、用户组、空间、资源;
  • 一个用户可以属于多个用户组;
  • 空间是资源的桶,空间和空间之间是隔离的;
  • 空间内设置资源的权限,面向用户组或用户设置。

file

以下进行详细的说明。

用户 / Users

账号注册

  • 支持管理员创建账号,管理员私下发送账号信息
  • 支持管理员邀请然后发送链接
  • 支持管理员开启注册,用户可在注册页完成注册

账号登录后

  • 首页为 Feed 流
  • 从右上角可切换进入个人设置页面
  • 从左上角可进入空间列表、可创建空间
  • 默认不能看到其它用户列表

用户组 / Groups

  • 组就是指定用户的集合
  • 组没有资源使用权限,组是为了方便委派到空间,空间是内容载体
  • 组和组之间是平级的,组内没有子组
  • 内置的两个全局的组:administrators,users
    • administrators 是超级管理员
    • users 指代所有的用户
  • 一个用户可以属于多各组,默认用户加入后进入 users 组
  • 用户组由管理员管理,非管理员用户看不到用户组;非管理员不能主动申请加入组

空间 / Spaces

空间相当于资源池,空间和空间之间是隔离的。一个空间面向一个小团队,大客户通过内部创建多个空间,多个用户组进行使用;SaaS 模式下给小微企业用,则是每个小微企业一个空间就够用了。

空间的管理

  • 空间是内容载体
  • 空间有创建者以及管理者
    • 创建者有一个
    • 管理者是一个用户列表:系统超级管理员或创建者有权限添加其它用户到这个组
  • 配置页面管理权限 / Permissions
    • 没有角色概念,只有 Permission 概念
    • Permission 基于组和资源组成的矩阵进行管理,每个资源又有 Create\Read\Update\Delete\Admin 权限
    • 资源代表着 URL 的集合,支持 wildcards
    • 资源有名称以及管理的粒度 - CRUD
    • 可以为空间添加用户组
    • 可以为空间单独添加用户
    • 客户设定匿名用户的访问权限
  • 空间是否可见,是否能让其它注册用户申请加入,取决于 Permission 的权限设定

资源 / Resources

以下列举一些资源,主要是客服业务相关。

  • ALL: 指代全部资源
  • Skill Groups: 坐席技能组
  • Channles:访客渠道
  • Chats:访客咨询
  • History: 咨询历史
  • Metrics:报表、工作负载等数据

每个资源包括不同的【资源操作/ Resource Operations】,内置的默认有五种操作:创建(Create),读取(Read),更新(Update),删除(Delete),管理(Admin)。其中,管理权限的含义是,对于该资源的每个单独的记录,用户进入该记录页面,是否可以看到【管理】,【管理】可设置这条记录的权限,类似于Page Permission in Atlassian Confluence

操作与 HTTP API 协议的 Method 对应。

Protocol 资源操作 HTTP API HTTP PATH
C 创建 POST /space/:spacekey/resources/:resourceName
R 读取 GET /space/:spacekey/resources/:resourceName, /space/:spacekey/resources/:resourceName/:resourceId
U 更新 PUT /space/:spacekey/resources/:resourceName/:resourceId
D 删除 DELETE /space/:spacekey/resources/:resourceName/:resourceId
A 管理 PUT /space/:spacekey/permissions/:resourceName

数据库设计

Tables

Table Description
cs_users 用户
cs_groups 用户组
cs_spaces 空间
cs_resources 资源
cs_resource_operations 资源操作
cs_permission_users 资源操作的用户关联权限
cs_permission_groups 资源操作的用户组关联权限
cs_group_users 用户组包含的用户

file

下载

本文原创,作者:Hai,其版权均为春松客服所有。
如需转载,请注明出处:https://www.cskefu.com/2022/12/28/rfc-cskefu-v8-account-n-permission-1/

相关文章