实战分享:后台权限管理设计
从项目管理转行产品经理已5年的时间,主要负责公司云产品,包括PC客户端,用户网页前端以及后台管理系统。前段时间也是因为数据安全问题,所以决定将权限这块重新梳理,做到能控制到页面以及页面的关键字段。
-----------控制流程介绍-----------
首先有个超级管理员账户,拥有所有权限。
超级管理员设置部门,配置好经理权限
添加管理员(添加时会分配部门),并分配“经理权限”(这里的“经理权限”为角色名称,可根据需要配置)
经理权限管理员再去进行部门管理员的添加、分配权限等操作
好,下面我们就来看具体的后台实现
我把后台分为三块:部门管理、管理员列表、权限列表(即角色列表)
1.部门管理
内容包括公司、部门、职位、更新日期、操作(包括编辑、删除)

2.权限管理
权限列表即角色列表
不同权限的人进入页面看到不同的权限,超级管理员能看到所有,其他人员只能看见自己创建的权限,自己创建的权限所有权限设置不能超过自己本身的权限.超级管理员不可删除。
操作:删除
这里的权限有个“删除”操作,删除后所以已分配此权限的管理员,将失去权限,需要重新分配

操作:编辑
此后台管理左侧有二级菜单,所以从左侧的一级菜单栏开始控制,一级菜单栏是否可见、二级菜单栏是否可见、是否允许查看、是否允许操作、是否有值,有则设置的限制值是多少。

前面老师已经说明了,权限可以分为三种:页面权限,操作权限,数据权限
我这里再举个实际的应用:
页面权限:例允许管理员可以看到节点机分布概览页面、运行的分析任务页面、完成的分析任务页面。

操作权限:例当前“运行的分析任务”页面操作有查询、放弃、重提、属性、要求、群组、查看日志等操作。

数据权限:例业务部分为上海、北京、成者、深圳区域,则给区域主管分配权限时,只允许他看到他区域内的用户的作业。

继续补充一点,如果具体到字段,则一般分为“是否可见”、“是否可操作编辑”、“限制值是多少”,这种多用于对用户信息的权限设置
例:给客户设置价格

3.管理员管理
接下来就是管理员部分
不同权限管理员进入页面展示的列表不同。
超级管理员可以呈现所有
部门经理只能看见自己部门的管理员信息,同时可以给自己部门的人员新增或编辑管理员账号,并分配权限,权限通常为1个,可以多个,所拥有的权限值取所有权限并集,并只能选择自己创建的权限。
假设是超级管理员身份打开页面:

新增管理员:

这里如果某员工离职了,可以禁用此管理员,但最好不要直接删除。
此项目早已开发完成,也已经上线运行近两年左右,满足所有内部员工的使用需求,欢迎同行交流~~