예제 #1
0
 public function setSessionStorage()
 {
     $options = new DbTableGatewayOptions();
     $options->setDataColumn('session_data')->setIdColumn('session_id')->setLifetimeColumn('life_time')->setModifiedColumn('update_time')->setNameColumn('session_name');
     $handler = new DbTableGateway($this->tblgw, $options);
     $this->sessionManager = new SessionManager();
     $this->sessionManager->setSaveHandler($handler);
     if ($this->sessionConfig) {
         $options = gv('options', $this->sessionConfig);
         $sessionConfig = new \Zend\Session\Config\SessionConfig();
         $sessionConfig->setOptions($options);
         $this->sessionManager->setConfig($sessionConfig);
     }
     $this->sessionManager->setSaveHandler($handler);
     Container::setDefaultManager($this->sessionManager);
     $this->sessionManager->start();
     $this->container = new Container('init');
     if (!$this->container->init) {
         $request = $this->request;
         $this->container->init = 1;
         $this->container->remoteAddr = $request->getServer()->get('REMOTE_ADDR');
         $this->container->httpUserAgent = $request->getServer()->get('HTTP_USER_AGENT');
         $this->container->create = time();
     }
     // update session id
     if (SESSION_ID_EXPIRE < time() - $this->container->create) {
         $this->sessionManager->regenerateId(true);
         $this->container->create = time();
     }
     return $this->sessionManager;
 }
예제 #2
0
 public function setSessionStorage()
 {
     $gwOpts = new DbTableGatewayOptions();
     $gwOpts->setDataColumn('data');
     $gwOpts->setIdColumn('id');
     $gwOpts->setLifetimeColumn('lifetime');
     $gwOpts->setModifiedColumn('modified');
     $gwOpts->setNameColumn('name');
     if (isset($this->serviceConfig['base64Encode']) && $this->serviceConfig['base64Encode']) {
         $saveHandler = new EncodedDbTableGateway($this->tblGW, $gwOpts);
     } else {
         $saveHandler = new DbTableGateway($this->tblGW, $gwOpts);
     }
     $sessionManager = new SessionManager();
     if ($this->sessionConfig) {
         $sessionConfig = new \Zend\Session\Config\SessionConfig();
         $sessionConfig->setOptions($this->sessionConfig);
         $sessionManager->setConfig($sessionConfig);
     }
     $sessionManager->setSaveHandler($saveHandler);
     Container::setDefaultManager($sessionManager);
     $sessionManager->start();
 }