发表于: 2019-06-01 21:32:12

1 506


今天完成的事情:
1、关于权限分配:
权限管理系统定义
权限管理是一个几乎所有后台系统的都会涉及的一个重要组成部分,主要目的是对整个后台管理系统进行权限的控制,而针对的对象是员工,避免因权限控制缺失或操作不当引发的风险问题,如操作错误,数据泄露等问题。其实权限管理的设计并不难,就目前来说最广泛的是一个账号对应多个角色,每个角色对应相应的权限集(RBAC模型)这种模型基本可以应对所有的问题,且通过角色可以实现灵活且多样的的权限操作需求,我们梳理一下上面主要提到的几个名词:账号、角色、权限。 
账号的定义
每个员工想要进入系统肯定都会有一个账号,而这个账号就是一把钥匙。我们通过控制账号所具备的权限,进而控制这个员工的授权范围。因此需要告诫员工,账号密码不能轻易提供他人,不然遇到的问题由自己承担。
角色的定义
角色管理是确定角色具备哪些权限的一个过程,他是一个集合的概念,是众多最小权限颗粒的组成。我们通过把权限给这个角色,再把角色给账号,从而实现账号的权限,因此它承担了一个桥梁的作用。引入角色这个概念,可以帮助我们灵活的扩展,使一个账号可以具备多种角色。
角色的命名最好按照职位而定,例如市场部普通员工,市场部主管等。因为职位在任何企业都是存在的,且是有限的,并且容易理解,市场部文员那就是市场部文员角色,方便我们配置权限时的判断,避免配置错误。 
权限的定义
权限可以分为三种:页面权限,操作权限,数据权限。
页面权限控制你可以看到哪个页面,看不到哪个页面,很多系统都只做到了控制页面这一层级,它实现起来比较简单,一些系统会这样设计,但是比较古板,控制的权限不精细,难以在页面上对权限进行更下一层级的划分。
操作权限则控制你可以在页面上操作哪些按妞。(延伸:当我们进入一个页面,我们的目的无非是在这个页面上进行增删改查,那在页面上对应的操作可能是:查询,删除,编辑,新增四个按钮)可能你在某个页面上,只能查询数据,而不能修改数据。
数据权限则是控制你可以看到哪些数据,比如市场A部的人只能看到或者修改A部创建的数据,他看不到或者不能修改B部的数据(延伸:数据的控制我们一般通过部门去实现,每条记录都有一个创建人,而每一个创建人都属于某个部门,因此部门分的越细,数据的控制层级也就越精细,这里是否有其他好的方式除了部门这个维度还有其他什么方式可以控制数据权限,大家可以提出来探讨一下)
哪个页面要放置哪些权限,完全根据业务需要配置,你只需要把控制权限控制的地方列出来交给开发就好。
问题来了,那权限具体是怎么分配的呢?举个例子,抢贝的后台管理系统,电商CRM系统

如图,在权限设置模块,给管理员(也就是角色)配置权限,首先会发现这个权限列表包含了后台的所有权限,然后根据后台的模块分类,每个模块下对应着这个模块所有的权限,根据这个角色对应的职位或者分组,给予对应的权限;
那么模块下的权限以及模块是怎么分的呢,就是上面说的根据业务配置,所以熟悉业务流程很重要;
明天计划的事情
1、明天有事请假了;
遇到的问题:
1、关于数据的父子级关系,这个回头跟后端的师兄确认一下;
收获:
1、权限如何分配;



返回列表 返回列表
评论

    分享到