1,后端会基于RBAC(基于角色的访问控制)设计出多张关系相互映射的标,不同的用户扮演不同的角色,从而得到的权限也是不同的。可以给一个用户分配多个角色获得多种权限。
2, 前端获取权限的过程:
1,用户登录,获取token
2,根据token获取用户的详细信息
3,根据用户的详细信息,去请求用户的菜单
4,动态渲染菜单
3,菜单和路由(动态路由)的映射关系:根据不同的角色菜单(权限),分配不同的路由页面
方案一: 在routes中把所有的组件都注册,根据用户的菜单动态渲染用户所能跳转的组件
缺点:当用户直接在搜索栏输入不属于该角色的权限所能跳转的组件时,也会有可以跳转的风险
方案二:根据不同角色注册不同路由,根据不同的角色向routes中动态的添加路由
缺点:如果新增角色时需要重新部署项目
方案三:动态路由,根据菜单动态生成路由映射,添加到routes中。需要服务端返回一个url字段帮助我们映射路由