/** * check vng session * @return array of identity if valid, false if not valid */ public function _verifyVngSession($sessionid) { $verified = array("valid" => false, "identity" => null); if (empty($sessionid) || !Zing_Auth_Util::checkVngSessionKey($sessionid)) { return $verified; } $storage = Zing_Auth_Storage_VNGSession::getInstance(); $storage->setSessionId($sessionid); $result = $storage->read($sessionid); // check valid if ($result->resultCode != 0) { return $verified; } // check ip address $ipAddress = Zing_Auth_Util::getRealIp(); //if ($result->session->hostname != $ipAddress) // return $verified; // check useragent $useragent = strtoupper(md5($_SERVER['HTTP_USER_AGENT'])); if ($result->session->useragent != $useragent) { return $verified; } $identity = array(); $identity['display_name'] = $result->session->accountName; $identity['mail'] = ""; $identity['login_time'] = $result->session->createTime; $identity['last_access_time'] = $result->session->lastAccess; $identity['uin'] = $result->session->uin; $identity['zin'] = $result->session->zin; $identity['username'] = strtolower($result->session->accountName); $verified["valid"] = true; $verified["identity"] = $identity; return $verified; }
public function hasIdentity() { if (!empty($this->_identity)) { return true; } $zadmin_auth = Zing_Cookies::getCookie(self::COOKIE_ADMIN_AUTH_KEY); if (empty($zadmin_auth) || !Zing_Auth_Util::checkSessionKey($zadmin_auth)) { Zing_Cookies::clearCookies($zadmin_auth); return false; } $storage = $this->getStorage(); $storage->setZAdminAuthKey($zadmin_auth); $identity = $storage->read(); if (!empty($identity)) { //Identity in cache is array $this->_identity = new stdClass(); $this->_identity->userid = $identity["userid"]; $this->_identity->username = $identity["username"]; $this->_identity->appid = $identity["appid"]; $this->_identity->name = $identity["name"]; $this->_identity->appname = $identity["appname"]; $this->_identity->adminflg = $identity['adminflg']; return true; } return false; }
public function create($uin, $zingId, $accountName) { $localIp = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '127.0.0.1'; $longSession = 1; //default l� session d�i $this->_sessionId = Zing_Auth_Util::genSessionKey(true, true); //gen Long session $this->_server->set($this->_sessionId, "{$uin} {$zingId} {$accountName} {$localIp}", 0, 0); //never expires return $this->_sessionId; }
public function isLogged() { $zauth = isset($_COOKIE['ZAUTH']) ? $_COOKIE['ZAUTH'] : ''; $hasMeCookies = $zauth != '' && Zing_Auth_Util::checkSessionKey($zauth); if ($hasMeCookies && $this->_storage != null) { $this->_storage->setSessionId($zauth); $objSession = $this->_storage->read(); if (!empty($objSession)) { $objSession->accountName = trim($objSession->accountName); if (!empty($objSession->accountName)) { $this->setIdentityBySSO($objSession); return true; } } } return false; }
public function create() { $this->_zadminauth = Zing_Auth_Util::genSessionKey(); return $this->_zadminauth; }