【问题标题】:Wrapping Zend 1 into Symfony 2. How to share session?将 Zend 1 包装到 Symfony 2 中。如何共享会话?
【发布时间】:2014-08-30 16:50:23
【问题描述】:

在我的工作中,我们正在努力将 Zend 1 应用程序迁移到 Symfony 2。我试图弄清楚如何无害地做到这一点。我找到了以下 SF2 捆绑包:https://github.com/mainlycode/Zf1WrapperBundle。我安装了它,按照配置说明,将我的 Zend 应用程序复制到 /vendor/zend 中,一切正常。当我浏览我的旧登录路径时,SF2 无法理解并询问 Zend 的响应,然后出现我的登录表单。我可以登录,它可以正常工作,网站的已验证部分正确显示。

现在我想开始改进需要对用户进行身份验证的功能。所以我创建了一个新的 SF2 包,称为 BackendBundle。它在我的控制器中试过这个:

$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 之间的身份验证。 有什么建议吗?

【问题讨论】:

    标签: php symfony authentication zend-framework wrapper


    【解决方案1】:

    我的第一个猜测是共享会话(将 ZF 和 Sf2 配置为使用类似的 SessionHandler),但 Sf2 以非常特定的方式存储会话信息,ZF 可能不容易支持。

    但我想您可以尝试创建一个 Sf2 RequestListener 来读取您的 ZF 会话,在其中找到一个身份验证令牌,然后创建一个 Sf2 身份验证令牌以最终将其注入 SecurityContext。

    你怎么看?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-11
      • 1970-01-01
      • 2013-01-06
      • 2014-10-21
      • 1970-01-01
      • 2013-10-11
      • 2023-03-29
      相关资源
      最近更新 更多