1,后端会基于RBAC(基于角色的访问控制)设计出多张关系相互映射的标,不同的用户扮演不同的角色,从而得到的权限也是不同的。可以给一个用户分配多个角色获得多种权限。

2, 前端获取权限的过程:

        1,用户登录,获取token

        2,根据token获取用户的详细信息

        3,根据用户的详细信息,去请求用户的菜单

        4,动态渲染菜单

3,菜单和路由(动态路由)的映射关系:根据不同的角色菜单(权限),分配不同的路由页面

方案一: 在routes中把所有的组件都注册,根据用户的菜单动态渲染用户所能跳转的组件

缺点:当用户直接在搜索栏输入不属于该角色的权限所能跳转的组件时,也会有可以跳转的风险

方案二:根据不同角色注册不同路由,根据不同的角色向routes中动态的添加路由

缺点:如果新增角色时需要重新部署项目

 方案三:动态路由,根据菜单动态生成路由映射,添加到routes中。需要服务端返回一个url字段帮助我们映射路由

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐