【发布时间】:2019-06-17 13:41:30
【问题描述】:
我有一个vue 项目和laravel 作为back-end,我必须检查用户是否有权访问资源或视图,在后端我使用laravel permissions 来完成此操作,并且它工作正常,我现在遇到的问题出在前端。
我在登录时获取用户权限并将其保存在localStorage,现在如果用户没有权限,我如何防止用户进入某个路由?
例如我有这些路线
{
path: 'users',
name: 'Users',
component: Users,
meta : {
permissions: 'read_users'
}
},
{
path: 'roles-permissions',
name: 'RolesPermissions',
component: RolesPermissions,
meta : {
permissions: 'read_roles'
}
},
{
path: 'roles-permissions/create',
name: 'CreateRolesPermissions',
component: CreateRolesPermissions,
meta : {
permissions: 'create_roles'
}
},
{
path: 'roles-permissions/:id/edit',
name: 'EditRolesPermissions',
component: EditRolesPermissions,
meta : {
permissions: 'edit_roles'
}
},
{
path: 'customers',
name: 'Clientes',
component: CustomersList
}
如果用户没有['read_roles','create_roles','edit_roles','read_users'] 的权限,她应该被重定向到customers。
var 权限 = localStorage.getItem('permissions'); var can = to.meta.permissions ? (permissions.includes(to.meta.permissions) || to.meta.permissions == '*') : true;
如何做到这一点?
【问题讨论】:
标签: laravel vue.js permissions vue-router