public function activateRoles(__UserSession &$user_session) { $user_session->reset(); $roles = $this->getRoles(); foreach ($roles as &$role) { $user_session->addActiveRole($role); } }
/** * Checks if current user has access to a given url. This method just check if the * action controller that will be executed as consequence of the url is accessible * by the current user. * * @param string $url The url to check access to * @return boolean true if the user has access to the given url */ public function hasAccessToUrl($url) { $return_value = true; //by default $uri = __UriFactory::getInstance()->createUri($url); $action_identity = $uri->getActionIdentity(); $controller_code = $action_identity->getControllerCode(); $controller_definition = __ActionControllerResolver::getInstance()->getActionControllerDefinition($controller_code); if ($controller_definition instanceof __ActionControllerDefinition) { $required_permission = __PermissionManager::getInstance()->getPermission($controller_definition->getRequiredPermissionId()); if (!$required_permission->isJuniorPermissionOf($this->_user_session->getActiveRoles()->getEquivalentPermission())) { $return_value = false; } } return $return_value; }