vue3 配置路由权限 admin可以看见某些路由,其他账号禁止看见
时间: 2023-11-04 10:00:27 浏览: 50
在Vue 3中配置路由权限可以通过以下步骤实现:
1.首先,在router文件夹中创建一个权限控制的文件,比如`permission.js`,在该文件中定义一个函数,用于判断当前用户是否有权限访问该路由,比如:
```
export function hasPermission(role, route) {
if (route.meta && route.meta.roles) {
return route.meta.roles.includes(role)
} else {
return true
}
}
```
其中,`role`是当前用户的角色,`route`是要访问的路由。
2.在路由配置文件中,为需要权限控制的路由添加`meta`字段,用于存储该路由允许访问的角色,比如:
```
{
path: '/admin',
name: 'admin',
component: Admin,
meta: {
roles: ['admin']
}
},
{
path: '/user',
name: 'user',
component: User,
meta: {
roles: ['admin', 'user']
}
},
{
path: '/public',
name: 'public',
component: Public
}
```
其中,`/admin`路由只能被`admin`角色访问,`/user`路由可以被`admin`和`user`角色访问,`/public`路由不需要权限控制。
3.在路由跳转时,判断当前用户是否有权限访问该路由,如果没有,则跳转到一个没有权限的页面,比如:
```
router.beforeEach((to, from, next) => {
const role = localStorage.getItem('role')
if (to.meta && to.meta.roles && !hasPermission(role, to)) {
next('/no-permission')
} else {
next()
}
})
```
其中,`localStorage.getItem('role')`是获取当前用户的角色,`/no-permission`是一个没有权限的页面。
这样,就可以实现Vue 3中的路由权限控制了。
阅读全文