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。
答案 0 :(得分:0)
$can = 'can:manage_global|manage_articles';
尝试使用您想要的条件,我申请了| (或)在两个权限条件之间