3

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

4

1 回答 1

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',
  )
);

希望它会帮助某人。

于 2013-01-02T17:37:33.827 回答