我将vue js添加到我当前的laravel应用程序中,因此我可以将其设为SPA,这意味着laravel仅用作后端,其余部分由vue js控制,从渲染视图到路由。
我目前的laravel应用程序使用kodeine laravel-acl来控制哪个页面以及我的用户可以通过简单地执行哪些操作
把它放在路上:
Route::get('admin', [
'as' => 'admins.admin.index',
'uses' => 'UserController@index',
'middleware' => ['auth', 'acl'],
'can' => 'view.admin_view']);
如果我只是这样做,以便在用户没有权限时隐藏一些操作
@permission('view.admin_view')
//some link or button
@endpermission
并且所有这些权限都存储在mysql数据库中,每个用户都有不同的权限集。
但如果我把它变成vue js SPA怎么办呢?因为所有路线都是通过vue js控制的?
答案 0 :(得分:0)
您可以在routeConfig中通过beforeEnter()
前往某条路线之前执行检查。样品在这里:
const router = new VueRouter({
routes: [
{
path: '/foo',
component: Foo,
beforeEnter: (to, from, next) => {
// ... Do your checkings here
}
}
]
})

答案 1 :(得分:0)
对于简单的权限检测逻辑,您可以使用CASL - https://github.com/stalniy/casl
媒体上的文档和文章中有很多有趣的东西,解释了如何与Vue和其他流行框架集成!