权限

191 阅读1分钟

路由权限控制2种 1.路由元信息(meta) 2.动态加载菜单和路由(addRouters)

vue-router 在构建路由时提供了元信息meta配置接口,我们可以在元信息中添加路由对应的权限,然后在路由守卫中检查相关权限,控制其路由跳转。可以在每一个路由的meta属性里,将能访问该路由的角色欠佳到roles里,用户每次登陆之后,将用户的角色返回,然后在访问页面时,把路由的meta属性和用户的角色进行对比,如果用户的角色在路由的roles里,那就是能访问,如果不在就拒绝访问,如图: image.png

在app.vue中文件下引入,注册全局的路由守卫

image.png

自此基本上路由权限控制就完成了

tip:在路由守卫中也能很好的解决匹配不带路由转404页面的业务需求。 实现如下:

image.png

在vue3.0中,其实思路都差不多,只是要注意的是vue3中使用路由的方式和vue2有一些细微的差异,使用404创建vue3的实例:

image.png

路由守卫(在App.vue里面进行全局注册):

image.png

4.动态加载菜单和路由(addRoutes)

vue-router 提供了 addRoutes() 方法,可以动态注册路由, 需要注意的是,动态添加路由是在路由表中 push 路由,由于路由是按顺序匹配的,因此需要将诸如404页面这样的路由放在动态添加的最后.