权限

设计思路

权限管理主要基于用户的角色实现,主要分为2部分,菜单权限和资源权限。菜单权限主要用于前端菜单的显示,资源权限主要用于页面按钮等DOM元素的显示和隐藏,主要流程如下:

  • 后台维护用户表、角色表、菜单表、资源表 - 给角色分配菜单和资源的权限

  • 给用户分配角色,一对多

  • 用户登录成功,通过用户角色获取到用户拥有权限的菜单列表和资源列表,存入服务端缓存

  • 前端主页面会请求服务器,从缓存中获取到用户的菜单和资源

  • 前端通过获取的有权限的菜单生成菜单树

  • 前端页面需要控制权限的DOM元素,增加一个指令,如v-auth="'addUser'",会在后端返回的资源列表中查找addUder,如果没有,就隐藏这个DOM

要点

  • 权限数据会在用户登录的时查询出来,并缓存到服务器。

  • 后端需要有请求拦截器来验证每个请求是否越权

  • 权限管理的实现,需要和后端有比较多的约定,请查阅 服务端-权限

Last updated