一款后台产品的用户管理系统,哪些功能点不可或缺?

24 评论 142164 浏览 720 收藏 8 分钟

我想分享我在做后台用户管理系统时的一些探索,结合具体的原型(具体内容因涉及公司信息,已隐藏),供大家讨论。

用户管理,是任何一款后台产品必备的模块。简单的用户管理功能,只需要涉及基础的账号管理,让开发人员在代码里给相应的账号打标记,从而实现权限的区分;但如果需要一套完善的内部用户管理流程,除了要满足管理人员账号的需求之外,还必须思考相应的角色和权限管理的业务流程。

实际上,不同后台产品的用户管理,其架构、流程和逻辑,有很大的共通性:都面向内部用户,都有标准的注册规范,都由后台管理员统一管理。因此,厘清后台用户管理的架构,梳理一份可通用的业务流程,能够帮助产品经理在设计不同产品时,快速引用这一功能模块。

接下来,我想分享我在做后台用户管理系统时的一些探索,结合具体的原型(具体内容因涉及公司信息,已隐藏),供大家讨论。

一、功能模块

后台产品的用户管理,包含了三个大的功能模块:账号、角色和权限管理。这三个模块,紧密关联。每个账号,都被赋予了特定的角色;而每个角色的背后,都有其对应的权限信息。如下图:

二、账号管理

账号管理,是管理员最常用到的功能。这一模块,需要设置相应字段,对内部人员的信息进行管理,首先应该具备“新增”、“删除”、“编辑”这三项基础的操作功能。另一方面,考虑到部分企业存在内部奖惩机制, 对某项指标不合格或者行为违规的员工, 做出暂停使用账号的处理结果,因此,在上述三项基础操作功能之外,可以再增加“禁用”和“启用”的功能。

1、账号列表

账号列表应该优先显示重要的字段,比如ID、用户名、真实姓名、部门、角色、账号状态、注册时间等。当然,除了这些,后端还需要记录下用户的其他字段,比如最近登录时间、登录次数等等操作记录。如下图:

2、添加账号

当管理员点击“新增”按钮时,当前页面可以跳转到填写账号信息的页面, 也可以通过弹窗的方式出现。新增账号的字段应当尽量详细,以便将来对用户行为做统计分析。同时在这个阶段,我们可以通过判断用户的身份,来给他赋予相应的角色。在这一步,不需要配置权限,因为角色本身就是带有权限的。如下图:

三、角色管理

角色管理部分,是用来管理内部用户的角色信息。角色,是对具有共同特征的某一类人群的身份归纳,在这个模块里,我们需要设置一些字段来描述角色信息,降低学习成本,让管理员能够轻松识别角色的特质,从而为不同的用户赋予对应的角色身份。

1、角色列表

角色列表类似账号列表,也是将一些重要字段展示出来,让管理员能够很快的了解角色的相应信息,比如角色ID、角色名称、基本权限、操作权限等。当基本权限和操作权限非常繁杂的时候,可以只显示重要的几类,其他的详情,可以点击查看。

在角色列表,只需保留“新增”和“删除”功能,“搜索”功能也可以不需要,因为角色的种类通常比较少,否则会给管理员增加负担。如下图:

2、新增角色

“新增角色”和“编辑角色”,都是给角色赋予相应的权限。过去我在给角色配置权限的时候,使用过下拉菜单的方式来选择。但如果碰到权限非常繁杂的情况,下拉菜单就不太适用了。这个时候,可以将权限都罗列出来,可以分组排序,也可以默认全部选中,然后让用户根据需求去勾选掉不需要的权限。如下图:

四、权限管理

权限管理这部分,是逻辑性最强的一块,需要产品经理提前准备好一份权限清单,将权限的名称、描述、性质(基本/操作)等信息梳理清楚。

1、权限列表

在做权限梳理之前,产品经理一定要与开发人员沟通好,确定哪些权限是同类型的,可以归为一组,而哪些功能又必须是分开设置的。拿我之前做的这个项目为例,这个产品没有涉及工作流环节,但Boss想让不同角色的用户,看到不一样的界面,所以除了通常的操作权限划定之外,还有一些基础的菜单查看权限,也要细分。当然了,因为权限细分起来非常繁杂,所以权限列表还需要有分页的功能,也可以加上搜索功能。如下图:

2、新增权限

“新增权限”页面,是为开发人员设置的,开发人员可以在这里将代码内容录入。具体如下图:

以上介绍的用户管理三大模块,是专门针对后台系统设计的,面向的用户也是企业内部人员,从产品需求上来说,追求的是规范、标准和流程化。

而如果是面向企业外部的用户管理系统,则需要牵涉到注册、登录验证等多个数据接口的调用,这类管理系统,就要重新规划产品逻辑和业务流程了。(完)

 

本文由 @jokefuture 原创发布于人人都是产品经理。未经许可,禁止转载。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 好文。。。

    来自湖北 回复
  2. 楼主设计用户——角色——权限关联,没有任何问题,后台产品基本都是这么做的,建议其他朋友多多了解,单用户拥有多角色是合理的,一个角色拥有多权限也是合理的。

    来自北京 回复
  3. 关于权限管理有一点不是很明白 为何要给开发人员输入代码的位置?这个实现逻辑是什么呢

    来自湖北 回复
  4. 受益匪浅,总体上结合自己实际产品的业务就可以取长补短了。

    来自广东 回复
  5. 好文

    回复
  6. 正在做这方面的需求,我个人的理解:

    权限依据属性可分为:功能权限(比如可以查看操作订单)、数据权限(比如可以查看哪些订单)、字段权限(可以查看订单的哪些字段)、管理权限(增删改权限)

    权限的集合:用户(最小的集合)、角色、组织、区域等等,可依据实际业务情况来定义一个集合,各个集合之间又有交叉从属关系

    来自北京 回复
  7. 有没有完整的后台权限原型可以分享出来

    来自湖北 回复
  8. 同问,如果用户有某个模块A的编辑权限无其它权限但有B模块有所有权限,而这两个板块又是相互关联,怎么可以做到不冲突呢

    来自四川 回复
  9. 有个问题 如果用户有某个模块A的编辑权限无删除权限但有B模块的所有权限该怎么办呢?

    来自湖北 回复
    1. 把各个模块的功能点分开不行吗?比如模块A的编辑和删除功能点分开,这样就可以配置B模块的所有功能点和A模块的编辑功能。

      来自江苏 回复
  10. 设计中遇到两种一个用户两种角色的现象怎么处理呢? 😳

    来自北京 回复
    1. 向下兼容 👿

      来自陕西 回复
  11. 账号列表处,将启用和禁用放到头部而不是在每条列表中,是想支持批量操作么?这块看的不是很明白

    来自江苏 回复
    1. 每条前面有复选框,可以单选可以多选

      来自江苏 回复
  12. 新增账号中角色的选择,为什么不做成下拉框选择?同一个人会有多个角色么?

    来自上海 回复
    1. 简单点,就像你打游戏,你可以一个账号下面分别建立讲个不同类型得人物一个道理!

      回复
    2. 这是不同概念啊,在这你一个账号拥有多重身份本身是不科学的,一定是一对一的关系

      来自上海 回复
    3. 理想状态下当然是一对一,但实际情况比如创业公司,刚开始一个人一定是担负多个角色的。随着公司的扩张,角色分工明确了,这个时候才会一对一。所以为了扩展性好,我觉得一对多更好一些。

      来自北京 回复
    4. 一个用户可以关联多个角色,这是正常的

      来自江苏 回复
    5. 应该是复选更合理,或者麻烦点,就是在创建一个角色,包含多个角色的权限

      来自北京 回复
    6. 一个用户关联多个角色,一个角色关联不同权限,场景不同功能会有变化

      来自江苏 回复
  13. 最后一块权限管理中,我一般不做成可视化的列表去增减权限,而是在产品规划的时候尽可能的将权限细分,直接让开发写死。请教一下作者,你这样将权限可视化地增减,是出于哪些原因考虑?

    来自江苏 回复
    1. 你好,首先,单说权限管理这块,专门给它做这样一个从前台可操作的功能,一来是希望把这个模块形成标准化、流程化,如果有权限调整,可以直接从前台看到记录,而不需要每次都找开发人员去改代码;二来用户管理整个系统,都是可通用的,不光是这个产品可以用,以后做其他后台产品的时候也可以用到,所以只要设计一次完整的逻辑和流程,下一次就可以省下很多功夫。

      来自北京 回复
  14. 很详细!谢谢

    回复