如何在zend框架2中跨子域共享zfcuser

时间:2013-01-01 18:37:33

标签: zend-framework2 zfcuser

我在我的应用程序中安装了zfcuser模块,一切正常。我配置了主机名路由器,这里我的问题开始了,当我登录主域(http://example.com)时一切正常,但当我去任何子域(http://test.example.com,{{ 3}})我正在失去记录状态,在每个子域我都要再次登录。如何跨子域共享登录状态?在ZF1中,我只设置'cookie_domain'并且它可以工作但是如何在ZF2中制作它?当然我也在使用Bjyauthorize,我想在子域名上保留bjyauthorize守卫......

1 个答案:

答案 0 :(得分:4)

好的我找到了解决方案,在ZfcUser Module.php中我添加了:

use Zend\Session\Config\SessionConfig;
use Zend\Session\SessionManager;
use Zend\Session\Container;
use Zend\EventManager\EventInterface;

public function onBootstrap(EventInterface $e)
{
   $config = $e->getApplication()
              ->getServiceManager()
              ->get('Configuration');

   $sessionConfig = new SessionConfig();
   $sessionConfig->setOptions($config['session']);
   $sessionManager = new SessionManager($sessionConfig);
   $sessionManager->start();

   Container::setDefaultManager($sessionManager);
}

并在ZfcUser module.config.php中:

return array(
  'session' => array(
    'use_cookies' => true,
    'cookie_domain'=>'example.com',
  )
);

希望它会对某人有所帮助。