业务场景
公司里有不同的职能部门,都在用同一套系统 ,不一样部门的人员进入系统里面需要操作的事情是不一样的
必定需要根据不同的员工角色配置不同的权限
RBAC权限设计思想
一种基于角色的设计思想
给员工配置角色 (一个员工可以拥有多个角色)
给角色配置权限点 (一个角色可以有多个权限点)
员工只要有了角色之后,就自动拥有了角色绑定的所有权限点
3. 根据权限设计思想对应业务模块
员工管理(增删查改)
角色管理(增删查改)
权限点管理(增删查改,他是没有调整的余地的:他会严格的与当前系统的功能想对应)
员工得到权限数据
员工信息接口中有当前员工的所有权限数据
userInfo:{
roles: {
menus: [], // 菜单权限数据
points: [] // 按钮权限数据
}
}
使用权限数据做具体的权限处理
-
菜单权限控制
登录 > 菜单权限数据 > 和本地的所有的动态路由数据做匹配出具 > 得到根据权限筛选之后的动态路由数据
-
添加到路由系统中 (可以根据路径标识渲染组件 addRoutes)
-
添加到左侧菜单渲染 (vuex管理 + v-for遍历)
-
-
按钮权限控制
登录 > 按钮权限数据 > 使用按钮单独的权限标识 去权限数据里面查找
自定义指令