Я использую Policies и Gate (Roles - Role_User Users) для назначения разрешений пользователям в моем проекте Laravel, все работает нормально. Но я не знаю, как учетная запись администратора может выполнять каждое действие, не назначая ей все разрешения.
// AuthServiceProvider
public function boot()
{
$this->registerPolicies();
$this->registerStaffPolicies();
$this->registerTaskPolicies();
$this->registerDepartmentPolicies();
$this->registerPositionPolicies();
$this->registerPermissionPolicies();
}
public function registerStaffPolicies()
{
Gate::define('staff-view', function($user){
return $user->hasAccess(['staff-view']);
});
Gate::define('staff-add', function($user){
return $user->hasAccess(['staff-add']);
});
Gate::define('staff-edit', function($user){
return $user->hasAccess(['staff-edit']);
});
Gate::define('staff-delete', function($user){
return $user->hasAccess(['staff-delete']);
});
}
// registerTaskPolicies ...
// My route
Route::get('/staff', 'StaffController@index')->middleware('can:staff-view');
Route::get('/staff/add', 'StaffController@add')->middleware('can:staff-add');
Route::post('/staff/add', 'StaffController@add')->middleware('can:staff-add');