Laravel 4.2 在会话数据中的用户 ID 存储在哪里


Where does Laravel 4.2 store the user ID within the session data?

由于时间限制,我试图在不深入挖掘代码的情况下,围绕Laravel如何处理会话数据。

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

所以我假设Laravel在删除cookie之前加密了这个值,然后解密该值以在每次需要会话数据时进行会话数据查找。

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

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

其次,从磁盘中提取实际会话数据后,我在实际会话数据中看不到"user_id"(或类似措辞)的键。事实上,除了CSRF_token值之外,我唯一看到的是一些像'login_42e5d2c566bd0811218f0cf078b76bfd' = 1这样的条目。

2. 这些数据负责什么?

3. 有人可以简要概述Laravel如何将会话数据与特定用户ID相关联吗?

你为什么要深入研究会话以获得user ID?您可以在不登录的情况下进行会话 - 因此user ID并不总是有意义的。

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