1. 路由配置
vue-element-admin 後臺的所有路由都是在src/router/index.js 這個文件中進行配置。
路由分爲兩種constantRoutes和asyncRoutes
constantRoutes 中的路由不需要權限就可以訪問到,如登錄頁面,404頁面
asyncRoutes 中的路由需要權限才能訪問
所有的路由使用的都是懶加載
2 權限判斷
路由訪問權限都是通過角色來控制的。通過設置路由meta下面的roles給路由設置訪問角色,如下
系統總默認定義了兩個角色 'admin', 'editor'
{
path: '/permission',
component: Layout,
redirect: '/permission/page',
alwaysShow: true, // will always show the root menu
name: 'Permission',
meta: {
title: 'permission',
icon: 'lock',
roles: ['admin', 'editor'] // you can set roles in root nav
},
children: [
{
path: 'page',
component: () => import('@/views/permission/page'),
name: 'PagePermission',
meta: {
title: 'pagePermission',
roles: ['admin'] // or you can only set roles in sub nav
}
},
{
path: 'directive',
component: () => import('@/views/permission/directive'),
name: 'DirectivePermission',
meta: {
title: 'directivePermission'
// if do not set roles, means: this page does not require permission
}
},
{
path: 'role',
component: () => import('@/views/permission/role'),
name: 'RolePermission',
meta: {
title: 'rolePermission',
roles: ['admin']
}
}
]
},
用戶登錄的時候,會判斷用戶所屬的角色,但是我也沒找到,用戶登錄後是怎麼判斷當前用戶所屬角色的,
再看看吧