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