Symfony 2:会话和存储之间的区别?

Posted

技术标签:

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

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

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

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

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

【问题讨论】:

【参考方案1】:

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

你为什么担心这个?

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

【讨论】:

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

以上是关于Symfony 2:会话和存储之间的区别?的主要内容,如果未能解决你的问题,请参考以下文章

在会话中存储对象 Symfony 2

本地存储和云存储之间的区别

Cookie 和 Redis 会话存储有啥区别?

OBIEE 存储库变量和会话变量之间的区别

Django - 会话和 Cookie 之间的区别? [关闭]

Windows 安装 Symfony 2.2 框架 - 安装成功 !!