在我的工作中,我们正在努力将Zend 1应用程序迁移到Symfony 2.我试图找出如何无害地执行此操作。我找到了以下SF2 Bundle:https://github.com/mainlycode/Zf1WrapperBundle。我安装了它,按照配置说明,在/ vendor / zend中复制了我的Zend应用程序,一切都运行得很好。当我浏览旧的登录路线时,SF2无法理解并询问对Zend的响应,并显示我的登录表单。我可以登录,并且它可以正常显示网站的authed部分。
现在我想开始修改用户需要进行身份验证的功能。所以我创建了一个名为BackendBundle的新SF2包。它在我的控制器中尝试了这个:
$securityContext = $this->container->get('security.context');
if( $securityContext->isGranted('IS_AUTHENTICATED_REMEMBERED') ){
echo 'AUTHED';
}
但是我收到以下错误:
The security context contains no authentication token. One possible reason may be that there is no firewall configured for this URL.
我完全明白为什么。但我真的不知道我怎么能"分享" Zend和SF2之间的认证。 有什么建议吗?
答案 0 :(得分:0)
我的第一个猜测是分享会话(将ZF和Sf2配置为使用类似的SessionHandler),但Sf2以非常特定的方式存储会话信息,ZF可能不会轻易支持。
但我猜你可以尝试创建一个Sf2 RequestListener来读取你的ZF会话,在其中找到一个auth令牌,然后创建一个Sf2身份验证令牌,最后将它注入SecurityContext。
您对此有何想法?