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