public function AdminPermissions::run in Security Review 8
The actual procedure of carrying out the check.
Return value
\Drupal\security_review\CheckResult The result of running the check.
Overrides Check::run
File
- src/
Checks/ AdminPermissions.php, line 39
Class
- AdminPermissions
- Checks whether untrusted roles have restricted permissions.
Namespace
Drupal\security_review\ChecksCode
public function run() {
$result = CheckResult::SUCCESS;
$findings = [];
// Get every permission.
$all_permissions = $this
->security()
->permissions(TRUE);
$all_permission_strings = array_keys($all_permissions);
// Get permissions for untrusted roles.
$untrusted_permissions = $this
->security()
->untrustedPermissions(TRUE);
foreach ($untrusted_permissions as $rid => $permissions) {
$intersect = array_intersect($all_permission_strings, $permissions);
foreach ($intersect as $permission) {
if (isset($all_permissions[$permission]['restrict access'])) {
$findings[$rid][] = $permission;
}
}
}
if (!empty($findings)) {
$result = CheckResult::FAIL;
}
return $this
->createResult($result, $findings);
}