diff --git a/src/Authorization/Traits/Authorizable.php b/src/Authorization/Traits/Authorizable.php index 3972c0918..c0b1acf2a 100644 --- a/src/Authorization/Traits/Authorizable.php +++ b/src/Authorization/Traits/Authorizable.php @@ -250,6 +250,9 @@ public function can(string ...$permissions): bool // Check the groups the user belongs to $this->populateGroups(); + // Get the group matrix + $matrix = setting('AuthGroups.matrix'); + foreach ($permissions as $permission) { // Permission must contain a scope and action if (strpos($permission, '.') === false) { @@ -270,8 +273,6 @@ public function can(string ...$permissions): bool return false; } - $matrix = setting('AuthGroups.matrix'); - foreach ($this->groupCache as $group) { // Check exact match if (isset($matrix[$group]) && in_array($permission, $matrix[$group], true)) {