系统概述

通过RABC将用户-角色-权限关联起来,对用户进行分组,达到灵活配置用户权限的目的,对用户进行管理。
用户管理包括账户管理、角色管理、权限管理、组织管理、菜单管理等。
这种关系如下:
RABC示意图
功能目的
用户管理:可以管理账号,包括添加账号、编辑账号、删除账号、重置密码;
添加、编辑、删除可以理解;密码重置是为了什么?
在用户系统刚建立的时候,很有可能系统中没有用户数据管理功能,因为这个功能的优先级不影响业务,所以所有这个功能的优先级都不高,特殊需求也不讨论;
重置密码是用户忘记密码后找回帐户的唯一方法。对于用户来说是必须的。需要的时候,没有这个功能,用户会觉得产品是垃圾,用户体验特别不好。这个功能的投入小,但是一旦发生意外,这个功能的作用可以明显提升用户体验。
角色管理:可以管理角色,支持添加、删除、编辑和角色;这里的添加、编辑、删除不会影响其他模块,解耦效果好;同时也是对用户的划分,对用户进行分组;
职能权限管理:职能权限管理涉及到管理权限的粒度,根据公司情况划分。比如第一种:业务要求不高,开发方便,逻辑简单,按页面划分;第二种:公司想做一个开发,然后开发逻辑不变,可以用功能权限划分。功能权限划分的好处是我们可以将功能权限的粒度划分为按钮权限;相比较而言,页面权限粒度大,前端搬砖工作多一点;按钮权限粒度小,可以控制用户组对页面中按钮的操作。
功能权限管理(1):可以管理角色的权限,这里只是功能权限的管理,也就是说每个人的功能开放时都可以使用;主要困难在于函数的划分规则;一种思路是,每次做函数迭代的时候,都已经把函数划分好了。这一次,有用性体现出来了。我们可以把之前的迭代函数整理出来,然后列出来。最后,操作权限的划分大致可以分为添加、删除、检查四种权限。其实这里包含了所有的权限,只要你能理解添加、删除、检查的不同含义。
功能权限管理(2):这里还有一个思路,就是根据菜单划分功能权限,即控制页面上的操作权限;
数据权限管理:是指对系统内人员数据接收和上传的限制,在数据接收上表现的比较明显。用户A和用户B使用相同的函数,但是用户A和用户B的数据不同。有公共数据,也有私有数据,在不同的部门体现的最为明显。比如销售部门和管理部门使用同一个函数,但是销售部门只能查询自己部门的数据,管理部门可以通过这个函数查看不同销售部门的数据。例如,华北的销售部和华南的销售部具有相同的功能,但是他们看到的数据是不同的。
数据权限管理可以将查询细化为私有数据查询和公共数据查询。这个时候是否需要职能权限的配合,可以看业务,比如我们公司内部通知。这是每个人都能看到(找到)的公开数据,但有些数据只有特定的人(管理部门)才能查看。这时候我们该怎么办?这个数据权限区分怎么做?一种思路是将查询功能权限化。只要将查询功能分配给哪个角色,该角色的人就可以查看,没有分配的人就不能查看。即划分数据权限;
用户管理是B端产品的一个基本功能,也是一个核心功能。
还木有评论哦,快来抢沙发吧~