laravel:如何在路线中使用多个“可以”?

时间:2019-10-17 16:13:36

标签: php laravel laravel-5

laravel 5:8
我创建角色,权限,permission_role,role_user

AuthServiceProvider中:

public function boot()
{
    $this->registerPolicies();

    $permissions = $this->getPermissions();
    if ($permissions) {
        foreach ($permissions as $permission) {
            Gate::define($permission->name, function ($user) use ($permission) {
                return $user->hasRole($permission->roles);
            });
        }
    }
}

protected function getPermissions()
{
    if (\Schema::hasTable('permissions')) {
        return Permission::with('roles')->get();
    }
    return null;
}

我尝试在路线中使用can

$can = 'can:manage_global';
Route::get('/create', 'ProductController@create')->middleware($can)->name('panel.product.create');

有效。

但是如何使用多罐呢?

我尝试:

$can = 'can:manage_global,manage_articles';

但它仅适用于manage_global而不适用于manage_articles。

1 个答案:

答案 0 :(得分:0)

$can = 'can:manage_global|manage_articles';

尝试使用您想要的条件,我申请了| (或)在两个权限条件之间