IMMREX7
<?php
namespace App\Providers;
use Laravel\Passport\Passport;
use Illuminate\Support\Facades\Gate;
use App\Permission;
use Illuminate\Contracts\Auth\Access\Gate as GateContract;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
class AuthServiceProvider extends ServiceProvider {
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
];
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot(GateContract $gate) {
$this->registerPolicies($gate);
foreach ($this->getPermissions() as $permission) {
$gate->define($permission->name, function($user) use ($permission) {
if ($user->isSchool == 'Y')
return true;
return $user->hasRole($permission->roles);
});
}
Passport::routes();
}
protected function getPermissions() {
return Permission::with('roles')->get();
}
}
Copyright © 2021 -