【问题标题】:Symfony 2 : difference between session and storage?Symfony 2:会话和存储之间的区别?
【发布时间】:2012-10-18 19:34:22
【问题描述】:

谁能向我解释一下 Symfony 2 中“会话”和“存储”之间的区别?

我正在使用 PdoSessionStorage,但我看不到:

  • Symfony\Component\HttpFoundation\Session
  • Symfony\Component\HttpFoundation\Session\PdoSessionStorage

...这两个类似乎都被实例化了!

【问题讨论】:

    标签: session symfony


    【解决方案1】:

    一个代表会话,另一个代表会话的存储方式。 PdoSessionStorage 将通过数据库上的 PDO 处理存储。这是一种将会话的实际概念和内容与其存储分离的方式,因为它可以以不同的方式存储。

    你为什么担心这个?

    会话处理似乎也被重构了,我认为你没有使用最新版本的 symfony。但无论如何,您不必担心这些类。

    【讨论】:

    • 我使用的是 SF 2.0。但无论如何,我不明白 SF 如何与这两个类一起工作。我尝试了一些方法:我手动禁用了 PdoSessionStorage 中的“读取”和“写入”功能(仅用于测试目的)。因此,我应该无法访问受限页面,因为 SF 无法再读取我的会话数据。但即使我被正确重定向到登录页面,这个请求的 HTTP 响应(在 Firebug 中看到)也会向我显示这个受限页面的完整 HTML 内容。这是我不明白的。
    • 我认为调试你正在做的事情可能是一件相当复杂的事情。我是否可以建议您采用与在 Symfony 中编辑类不同的方法,这似乎使您感到困惑而不是帮助您。禁用会话存储似乎根本不是放置或删除访问障碍的更直接方法,可能有许多更高抽象级别的方法更容易遵循,其中包括您实际编写的代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-26
    • 2016-04-14
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    • 2011-12-06
    相关资源
    最近更新 更多