/** * Logout Function * @param boolean $destroySession destroy the session or not */ public function logout($destroySession = true) { // I always remove the session variable model. Yii::app()->getSession()->remove('current_user'); Yii::app()->session->clear(); Yii::app()->session->destroy(); parent::logout(); }
/** * @runInSeparateProcess * @outputBuffering enabled * @dataProvider booleanProvider */ public function testLoginLogout($destroySession) { $identity = new CUserIdentity('testUser', 'testPassword'); $user = new CWebUser(); $user->init(); // be guest before login $this->assertTrue($user->isGuest); // do a login $this->assertTrue($user->login($identity)); // don't be guest after login $this->assertFalse($user->isGuest); $this->assertEquals('testUser', $user->getId()); $this->assertEquals('testUser', $user->getName()); $user->logout($destroySession); // be guest after logout $this->assertNull($user->getId()); $this->assertEquals($user->guestName, $user->getName()); }
/** * This is here since there is a bug with cookies * that have been saved to a domain name such as * .domain.com so all subdomains can access it as well * @see http://code.google.com/p/yii/issues/detail?id=856 */ public function logout($destroySession = true) { if ($this->allowAutoLogin && isset($this->identityCookie['domain'])) { $cookies = Yii::app()->getRequest()->getCookies(); if (null !== ($cookie = $cookies[$this->getStateKeyPrefix()])) { $originalCookie = new CHttpCookie($cookie->name, $cookie->value); $cookie->domain = $this->identityCookie['domain']; $cookies->remove($this->getStateKeyPrefix()); $cookies->add($originalCookie->name, $originalCookie); } // Remove Roles $assigned_roles = Yii::app()->authManager->getRoles(Yii::app()->user->id); if (!empty($assigned_roles)) { $auth = Yii::app()->authManager; foreach ($assigned_roles as $n => $role) { if ($auth->revoke($n, Yii::app()->user->id)) { Yii::app()->authManager->save(); } } } } parent::logout($destroySession); }
public function logout($destroySession = true) { $result = false; $usersession = $this->getICrugeSession(); if ($usersession != null) { $filtro = $this->getum()->getSessionFilter(); $usersession->logout(); if ($filtro->onStore($usersession)) { $filtro->onLogout($usersession); $result = true; } else { Yii::log(CHtml::errorSummary($usersession, "error al guardar una sesion"), "error"); $this->_lastError = CrugeTranslator::t("Error al almacenar sesion"); } } parent::logout($destroySession); return $result; }
public function logout($destroySession = true) { $result = false; $usersession = $this->getICrugeSession(); if ($usersession != null) { $filtro = $this->getum()->getSessionFilter(); // para compatibilidad con anteriores versiones del filtro if (method_exists($filtro, 'onBeforeLogout')) { if ($filtro->onBeforeLogout($usersession) == false) { return false; } } $usersession->logout(); if ($filtro->onStore($usersession)) { $filtro->onLogout($usersession); $result = true; } else { Yii::log(CHtml::errorSummary($usersession, "error al guardar una sesion"), "error"); $this->_lastError = CrugeTranslator::t("Error al almacenar sesion"); } } parent::logout($destroySession); return $result; }
**/ define('ZBX_PAGE_NO_AUTHORIZATION', true); define('ZBX_NOT_ALLOW_ALL_NODES', true); define('ZBX_HIDE_NODE_SELECTION', true); define('ZBX_PAGE_NO_MENU', true); require_once dirname(__FILE__) . '/include/config.inc.php'; require_once dirname(__FILE__) . '/include/forms.inc.php'; $page['title'] = _('ZABBIX'); $page['file'] = 'index.php'; // VAR TYPE OPTIONAL FLAGS VALIDATION EXCEPTION $fields = array('name' => array(T_ZBX_STR, O_NO, null, NOT_EMPTY, 'isset({enter})', _('Username')), 'password' => array(T_ZBX_STR, O_OPT, null, null, 'isset({enter})'), 'sessionid' => array(T_ZBX_STR, O_OPT, null, null, null), 'reconnect' => array(T_ZBX_INT, O_OPT, P_SYS, BETWEEN(0, 65535), null), 'enter' => array(T_ZBX_STR, O_OPT, P_SYS, null, null), 'autologin' => array(T_ZBX_INT, O_OPT, null, null, null), 'request' => array(T_ZBX_STR, O_OPT, null, null, null)); check_fields($fields); // logout if (isset($_REQUEST['reconnect'])) { add_audit(AUDIT_ACTION_LOGOUT, AUDIT_RESOURCE_USER, _('Manual Logout')); CWebUser::logout(); } $config = select_config(); if ($config['authentication_type'] == ZBX_AUTH_HTTP) { if (!empty($_SERVER['PHP_AUTH_USER'])) { $_REQUEST['enter'] = _('Sign in'); $_REQUEST['name'] = $_SERVER['PHP_AUTH_USER']; } else { access_deny(); } } // login via form if (isset($_REQUEST['enter']) && $_REQUEST['enter'] == _('Sign in')) { // try to login if (CWebUser::login(get_request('name', ''), get_request('password', ''))) { // save remember login preference
/** * Logouts user and sends some goodbye messages. * * @param bool $destroySession Whether to destroy session or not. Please * note that if set to true, messages will be * muted and `$mute` flag won't have any effect. * @param bool $mute Controls user flash messages generation. * * @return void * @since 0.1.0 */ public function logout($destroySession = false, $mute = false) { if ($this->getIsGuest()) { if (!$destroySession && !$mute) { $this->sendErrorMessage('auth.logout.guestAttempt'); } return; } parent::logout($destroySession); if (!$mute) { $this->sendNotice('auth.logout.goodbye'); } }
/** * @param boolean */ public function logout($destroySession = true) { parent::logout($destroySession); }