2014-02-07 76 views
0

我有問題與Zend 2屆Zend的2會話 - 被摧毀後雙擊「回車」

當我「快」雙擊在_POST形式「Enter」鍵(兩次提交第一響應前形式)會話被銷燬。當我以「正常速度」提交時,一切正常。

我的會話配置是本http://framework.zend.com/manual/2.1/en/modules/zend.session.manager.html

精確副本,唯一的區別是

'session' => array(
    'config' => array(
     'class' => 'Zend\Session\Config\SessionConfig', 
     'options' => array(
      'name' => 'myapp', 
      'remember_me_seconds' => 3600, //60 min session 
      'use_cookies' => true, 
      // 'cookie_httponly' => true, -> not working with Zfc-user subdomain 
      'cookie_domain'=>'domain.com', 

     ), 
    ), 
    'storage' => 'Zend\Session\Storage\SessionArrayStorage', 
    'validators' => array(
     'Zend\Session\Validator\RemoteAddr', 
     'Zend\Session\Validator\HttpUserAgent', 
    ), 
), 

在CONTROLER我:

const NAMESPACE_REGORG = 'initialized'; 

protected $_sessionRegContainer; 

public function packageAction() { 

    //check if user login and redirect 
    if ($this->zfcUserAuthentication()->hasIdentity()) { 
     //some staff here 
    } 

    //save value to session 
    $package = $this->getEvent()->getRouteMatch()->getParam('id'); 
    $this->_sessionRegContainer = new Container(static::NAMESPACE_REGORG); 
    $this->_sessionRegContainer->package = $package; 
    return $this->redirect()->toRoute(static::ROUTE_LOGIN); 
} 

public function loginAction() { 

    //restore session 
    $this->_sessionRegContainer = new Container(static::NAMESPACE_REGORG); 

    //create form staff.. if submited by double click session is loosing 
    //value of $this->_sessionRegContainer->package 
} 

頁使用原則2 ORM,ZFC-用戶模塊所有Zend 2相關內容的認證和子域 - main domain.com是靜態html。

值得一提的是,當我使用與Zend的頁面上的所有設置簡單的新集裝箱()會議 - 會議做工精細與「雙擊」,但ZFC-用戶停止工作:(

任何想法?爲什麼會被銷燬任何幫助將通過Zend的2 exmple設置去除

$session->start(); 
$session->rememberMe(); 

理解

+1

您的表單是否使用CSRF元素保護?如果是這樣,那麼表單無法驗證是正常的。會議不應該被破壞。 – Sam

+0

嗨,山姆,會議與CSRF銷燬,並與CSRF添加到形式測試。所以問題在別的地方。正如在原始文章中提到的,當我使用簡單的新Container()問題disapear。 – user3204296

回答