PC端与小程序权限设计浅析---RBAC基于角色的访问控制(Role-Based Access Control)

一、定义解释

  • 用户:指系统的登录用户,可以理解为一系列的操作人员,例如运营同事小张,销售小王等;
  • 角色:指用户在系统中担任的角色,是系统赋予用户的头衔,例如总经理、运营、测试等,多于岗位和职责挂钩,用于配置对应岗位的各类权限;
  • 权限:能够访问某接口或者做某操作的授权资格;
  • 菜单权限:指对应后台中的一级菜单/二级菜单的页面访问权限,比如订单管理-拼团订单列表;
  • 操作权限:指后台对数据进行新增、删除、修改、查看、导出等操作的权限;
  • 数据权限:指该角色可以查看或者操作的数据范围,例如销售人员录入了客户信息,那么每个销售只能看到自己创建的数据,不可以看到其他销售的数据,这是一种常见的数据权限范围。

二、权限模型-RBAC

介绍完名词的定义,下面讲解的是RBAC权限模型。

RBAC权限模型:RBAC,即基于角色的访问控制(Role-Based Access Control),是优秀的权限控制模型,主要通过角色和权限建立管理,再赋予用户不同的角色,来实现权限控制的目标。

利用该模型来配置权限,直接优点是角色的数量比用户的数量更少,先把权限赋予角色,即可完成权限的分配;
再为用户分配相应的角色,即可直接获得角色拥有的权限。

交互设计的福音,只需定义有限的角色拥有哪些菜单权限即可。甚至可以细化到角色在某个页面内的权限操作。
在这里插入图片描述

三、 前端权限控制思路

3.1.菜单的控制

在登录请求中, 会得到权限数据, 当然, 这个需要后端返回数据的支持。(vuex+localstorage)
前端根据权限数据, 展示对应的菜单(动态路由)。点击菜单,才能查看相关的界面。

3.2.界面的控制

如果用户没有登录,手动在地址栏敲入管理界面的地址, 则需要跳转到登录界面如果用户已经登录, 如果是手动敲入非权限内的地址, 则需要跳转404界面。(路由的导航守卫

3.3.按钮的控制

在某个菜单的界面中, 还得根据权限数据, 展示出可进行操作的按钮, 比如删除、修改、增加。
路由规则中可以增加路由元数据meta,通过路由对象可以得到当前的路由规则,以及存储在此规则中的meta数据
自定义指令可以很方便的实现按钮控制。

3.4.请求和响应的控制

如果用户通过非常规操作, 比如通过浏览器调试工具将某些禁⽤的按钮变成启用状态, 此时发的请求, 也应该被前端所拦截。(请求拦截器和响应拦截器

未完待续。。。

参考
小程序后台管理系统权限模块解析 https://www.toutiao.com/article/6885879554905375246
权限系统设计 https://www.cnblogs.com/iceblow/p/11121362.html
浅谈前端权限设计方案 https://blog.csdn.net/brokenkay/article/details/115579833
B站权限视频 https://www.bilibili.com/video/BV15Q4y1K79c/
B站权限视频对应文档1 https://blog.csdn.net/m0_62118859/article/details/124275448
B站权限视频对应文档2 https://blog.csdn.net/weixin_44157964/article/details/108420759

猜你喜欢

转载自blog.csdn.net/weixin_42960907/article/details/127474099
今日推荐