如何在 Symfony 操作中获取会话 ID?

发布于 2024-11-25 23:23:30 字数 319 浏览 1 评论 0原文

我正在使用 Symfony 1.4 和 Doctrine 1.2。我需要在操作中获取会话 ID。

我正在使用学说会话存储,效果很好。我还使用 sfDoctrineGuardPlugin,并且能够根据推荐的做法在用户中获取和设置会话变量,使用如下代码:

$this->getUser()->setAttribute('variable_name', $value);
$value = $this->getUser()->getAttribute('variable_name');

但是如何获取当前用户的会话 id?

I'm using Symfony 1.4 and Doctrine 1.2. I need to get the session ID inside an action.

I'm using doctrine session storage and that works fine. I'm also using sfDoctrineGuardPlugin and am able to get and set session variables in the user according to recommended practice, using code like this:

$this->getUser()->setAttribute('variable_name', $value);
$value = $this->getUser()->getAttribute('variable_name');

But how do I get the session id of the current user?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦年海沫深 2024-12-02 23:23:30

您似乎无法从用户对象访问 sfStorage 。 sfSessionStorage 在会话中存储用户数据...

所以我目前看到的唯一方法是调用“本机”session_id()

如果您想要完美,您应该扩展 sfSessionStorage 添加一个方法来检索会话 id。然后将此存储分配给用户,您就可以调用 $this->getUser()->getStorage()->getSessionId();

It seems like you can't access the sfStorage from the user object. The sfSessionStorage stores the user data in the session...

So the only way I currently see is calling the 'native' session_id().

If you want to it perfectly you should extends the sfSessionStorage adding a method to retrieve the session id. Then assign this storage to the user, and you would be able to call $this->getUser()->getStorage()->getSessionId();.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文