首页 文章

如何使用vue项目在laravel中添加权限控制?

提问于
浏览
0

我正在将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控制的?

2 回答

  • 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和其他流行框架集成!

相关问题