public function hasRole($role, $user = null)
{
$roleName = $role instanceof Role ? $role->getRole() : $role;
$user = $user ?: $this->getUser();
if (!$user instanceof UserInterface) {
return false;
}
if (null === $this->roleHierarchy) {
return in_array($roleName, $user->getRoles(), true);
}
$userRoles = $this->roleHierarchy->getReachableRoles($this->getUserRolesAsObjects($user));
foreach ($userRoles as $userRole) {
if ($roleName === $userRole->getRole()) {
return true;
}
}
return false;
}