参考:https://www.sohu.com/a/340431910_695183 或 https://blog.csdn.net/qq_38931949/article/details/93485519
前导:权限 设计 目的
1、有的系统(如,后台管理系统),各个角色的使用场景是部分通用,部分隔离的,这时候就需要引入“权限系统”了
一、控制系统的账号 及 登录
1、账号的 定义
基本上所有的互联网产品,无论是移动端、PC端、C端或B端产品,登录都需要一个账号。
只是对于C端的产品,都是用户自己注册即可。
而对于后台产品而言,是需要公司内部人员去创建账号的。而这个账号就是一把钥匙,
我们通过控制账号所具备的权限,进而控制这个员工的所操作区域。
2、账号 的 层级:企业(管理员)账号、普通账号。【管理员账号,也叫超管。超管 可以 给 普通账号 授权,使其有管理的权限】
公司的实际运营人,他应该掌握最核心、权限最大的企业帐号,所以也可以称为“管理员帐号”俗称admin账号,其他都为普通帐号。
二、用户与角色
1、用户 与 角色 关系 有:多对一 的 用户角色 关系、多对多的 用户 角色 关系。
2、由于 公司 规模变大,角色 增多,试想如果用户量上万,新增一个角色时,可能需要为大量用户都分配一遍新的角色,工程量仍然巨大,
此时即可以引入用户组的概念:如果部分用户的使用场景是相对一致和基础的,我们可以把这些用户打包成一个组,基于这个组的对象进行角色和权限的赋予。
三、控制功能权限:上面讲了用户和权限的概念,那么具体有哪些 概念 是需要 分权限的呢。
功能权限定义:为可见、可以操作的功能范围。例如:某一部分目录,或者某个页面里的各种操作。
1、目录管理模块
类型分为 2 种:目录、菜单。
2、操作按钮
3、页面访问权限【即路由权限】:正常情况,没有权限的用户,没有通过页面的人口,页面是进不去的。如果没有设置页面访问权限,
用户可以直接在浏览器上输入 页面地址 进入页面。所以必须要设置页面权限。