'App\Policies\ModelPolicy', ]; /** * Register any authentication / authorization services. * * @return void */ public function boot() { $this->registerPolicies(); if(!Schema::hasTable('users')){return;} Gate::before(function ($user) { if ($user->isSuperAdmin()) { return true; } }); if(!Schema::hasTable('authorities')){return;} $authorities = Authority::with('roles')->get(); foreach($authorities as $authority) { Gate::define($authority->name, function($user) use ($authority) { return $user->hasRole($authority->roles); }); } } }