2017-07-27 42 views
0

我将vue js添加到我当前的laravel应用程序中,这样我就可以使其成为SPA并且这意味着laravel仅充当后端,其余部分由vue js从渲染视图控制到路由。使用kodeine laravel-acl如何用vue项目在laravel中添加权限控制?

我目前laravel应用程序用于控制,我的用户可以通过简单地

做到把这个路由操作的页面和:

Route::get('admin', [ 
     'as'   => 'admins.admin.index',   
     'uses'   => '[email protected]', 
     'middleware' => ['auth', 'acl'], 
     'can'   => 'view.admin_view']); 

,如果我只是这样做是为了隐藏一些行动,如果用户没有权限

@permission('view.admin_view') 
    //some link or button   
@endpermission 

和所有这些权限存储在MySQL数据库中,每个用户有不同的权限设置上。

但如何做到这一点,如果我使它vue js SPA?因为所有的路线都是通过vue js控制的?

回答

0

您可以在routeConfig中通过beforeEnter()转到特定路线之前执行检查。样品是在这里:

const router = new VueRouter({ 
 
    routes: [ 
 
    { 
 
     path: '/foo', 
 
     component: Foo, 
 
     beforeEnter: (to, from, next) => { 
 
     // ... Do your checkings here 
 
     } 
 
    } 
 
    ] 
 
})

0

要简单地允许检测逻辑,你可以使用CASL - https://github.com/stalniy/casl

有在文档和媒体的文章很多有趣的东西,说明如何使用Vue的整合和其他流行的框架!

+0

如何将它集成到laravel-mysql?我发现只有mongoDB集成 –