2017-07-27 80 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集成 –