2015-01-20 70 views
2

我试图围绕Laravel如何处理会话数据而不深入代码,由于时间限制。Laravel 4.2在会话数据中存储了用户ID?

似乎存储在cookie中的会话ID('laravel_session',默认情况下)是加密的,因为它是一个不同的,比我得到的值长得多的值,如果我打印Session :: getId的值( )

因此,我假设Laravel在丢弃cookie之前加密此值,然后解密该值以在每次需要会话数据时执行会话数据查找。

所以我想我的第一个问题是:

1.为什么会话ID混淆这样吗?我假设这是出于安全目的?

其次,我从实际会话数据中看不到'user_id'(或类似措辞)的密钥,一旦它从磁盘中被提取出来。实际上,除CSRF_token值外,我唯一看到的内容是'login_42e5d2c566bd0811218f0cf078b76bfd'= 1的一些条目。

2.这是什么数据?

3.有人能给我一个关于Laravel如何将会话数据与特定用户ID相关联的简要概述吗?

回答

-1

为什么要挖掘进入会议得到user ID?你可以在没有登录的情况下进行会话 - 所以user ID并不总是意味着什么。

如果你想在当前登录的用户 - 那么你应该使用Auth::user()->id

+0

感谢您的回复:)是的,我没有登录的用户可以存在认识会话。话虽如此,当用户登录时,他们的会话数据会以某种方式与他们的记录相关联,我想知道它是如何工作的。我想了解更多关于Laravel如何在幕后工作的信息。如果你能回答我问过的问题,我会选择你的答案。再次感谢您的答复。 – ineedhelp 2015-01-21 18:10:12