什么是权限管理:
就是不同的角色(或者用户)进入系统后,看到的菜单栏和页面不一样。
主要通过:动态添加路由 和 导航守卫 实现
例如: HIS系统里,医生可以开处方。护士就不可以
1. 路由定义
在路由文件创建路由,路由分为:
(1.)默认不需要权限的页面 静态路由 (所有用户可以查看)
(2.) 需要权限的页面 动态路由
(3.)404页面
2. 用户登录:
登录成功后 , 后端会返回一个Token,把Token直接存储到sessionStorage,每次调用接口 时都需要带上这个Token,根据 token 获取用户权限列表.
3. 全局路由拦截:
vue-router beforeEach 钩子限制路由跳转。根据当前用户有没有 token 和 权限列表进行相应的 判断和跳转。当没有 token 时跳到 login登录页面,当有 token,根据后台返回的权限列表,通过权限的唯一标识 (比如: 路由名 ) 循环匹配我们写的 动态路由表。 将匹配结果通过addRoutes动态添加到router中 , 然后和静态路由表结合 形成最终的路由表 。