/** * isGranted * * @param string $grantedRole * @param User $user * @return bool */ public function isGranted($grantedRole, User $user) { $grantedRole = new Role($grantedRole); if (count($user->getRoles())) { foreach ($user->getRoles() as $role) { $roles = $this->roleHierarchy->getReachableRoles(array(new Role($role))); if (in_array($grantedRole, $roles)) { return true; } } } return false; }
/** * Overrides BaseUser::getRoles so we can merge additional custom roles from the DB. * * @return array */ public function getRoles() { $roles = parent::getRoles(); /** @var $customRole Role */ foreach ($this->getCustomRoles() as $customRole) { $roles[] = $customRole->getRoleName(); } return array_unique($roles); }