Open Jhulianogs opened 2 years ago
In the boot function of the AuthServiceProvider is set $adminModel variable, but it's not being sent to Gate::before.
$adminModel = config('multiauth.models.admin'); $this->registerPolicies(); Gate::before(function ($admin, $ability) { if ($admin instanceof $adminModel) { if ($this->isSuperAdmin($admin)) { return true; } return $admin->hasPermission($ability); } });
Solution: add use ($adminModel)
use ($adminModel)
$adminModel = config('multiauth.models.admin'); $this->registerPolicies(); Gate::before(function ($admin, $ability) use ($adminModel) { if ($admin instanceof $adminModel) { if ($this->isSuperAdmin($admin)) { return true; } return $admin->hasPermission($ability); } });
In the boot function of the AuthServiceProvider is set $adminModel variable, but it's not being sent to Gate::before.
$adminModel = config('multiauth.models.admin'); $this->registerPolicies(); Gate::before(function ($admin, $ability) { if ($admin instanceof $adminModel) { if ($this->isSuperAdmin($admin)) { return true; } return $admin->hasPermission($ability); } });
Solution: add
use ($adminModel)
$adminModel = config('multiauth.models.admin'); $this->registerPolicies(); Gate::before(function ($admin, $ability) use ($adminModel) { if ($admin instanceof $adminModel) { if ($this->isSuperAdmin($admin)) { return true; } return $admin->hasPermission($ability); } });