/** * (non-PHPdoc) * @see Zend_Controller_Action::init() */ public function init() { parent::init(); $this->_bootstrap = $this->getInvokeArg('bootstrap'); $accessToken = $this->_request->getParam('access_token', $this->_request->getHeader('OAuth-AccessToken')); $memcache = $this->_bootstrap->getResource('memcache'); Tudu_User::setMemcache($memcache); $this->_user = Tudu_User::getInstance(); // 提供访问令牌 if (!empty($accessToken)) { $storage = new TuduX_OAuth_Storage_Session(); $storage->setMemcache($memcache); $oauth = new OpenApi_OAuth_OAuth(array(OpenApi_OAuth_OAuth::STORAGE => $storage)); $scope = $this->_request->getParam('client_id', $this->_request->getHeader('OAuth-Scope')); try { $token = $oauth->verifyAccessToken($accessToken, $scope); $this->_user->init($token['auth']); // 用户被禁用或已被退出登录 if (!$this->_user->isLogined()) { $oauth->destroyAccessToken($accessToken); throw new OpenApi_OAuth_Exception("Invalid access token provided", OpenApi_OAuth_OAuth::ERROR_INVALID_ACCESSTOKEN); } // ts服务器 $tsServer = 'ts' . $this->_user->tsId; Tudu_Dao_Manager::setDbs(array(Tudu_Dao_Manager::DB_TS => $this->_bootstrap->multidb->getDb($tsServer))); $this->_clientId = $token[OpenApi_OAuth_OAuth::PARAM_CLIENT_ID]; $this->_accessToken = $accessToken; $this->_token = $token; // 验证失败 } catch (OpenApi_OAuth_Exception $e) { throw $e; } } }
protected function _initApplication() { $defaultDb = $this->multidb->getDb(); Oray_Dao_Abstract::setDefaultAdapter($defaultDb); Oray_Dao_Abstract::registerErrorHandler(array($this, 'daoErrorHandler')); Tudu_Dao_Manager::setDbs(array(Tudu_Dao_Manager::DB_MD => $this->multidb->getDb('md'))); Tudu_User::setMemcache($this->getResource('memcache')); //set_error_handler(array($this, 'errorHandler')); }
/** * */ protected function _initApplication() { //$defaultDb = $this->multidb->getDb(); //Oray_Db_Helper::getInstance()->set('tudu-md', $defaultDb); Oray_Dao_Abstract::setDefaultAdapter($this->multidb->getDb()); Oray_Dao_Abstract::registerErrorHandler(array($this, 'daoErrorHandler')); Tudu_Dao_Manager::setDbs(array(Tudu_Dao_Manager::DB_MD => $this->multidb->getDb('md'))); Tudu_User::setMemcache($this->getResource('memcache')); $resourceManager = new Tudu_Model_ResourceManager_Registry(); $resourceManager->setResource('config', $this->_options); Tudu_Model::setResourceManager($resourceManager); //set_error_handler(array($this, 'errorHandler')); }