由于时间限制,我试图绕过Laravel如何处理会话数据而不深入研究代码。
存储在cookie中的会话ID(默认为“laravel_session”)似乎是加密的,因为它是一个不同的,比我打印Session :: getId()的值更长的值。
所以我假设Laravel在删除cookie之前加密这个值,然后解密该值以在每次需要会话数据时进行会话数据查找。
所以我想我的第一个问题是:
1。为什么会话ID会像这样混淆?我认为这是出于安全目的?
其次,一旦从磁盘中提取,我在实际会话数据中看不到'user_id'(或类似措辞)键。事实上,除了CSRF _token值之外,我唯一看到的是像“login_42e5d2c566bd0811218f0cf078b76bfd”= 1这样的条目。
2。这些数据负责什么?
第3。有人可以简要介绍一下Laravel如何将会话数据与特定用户ID相关联吗?
答案 0 :(得分:-1)
为什么要深入了解会话以获取user ID
?您可以在没有登录的情况下进行会话 - 因此user ID
并不总是意味着什么。
如果您想要当前登录的用户 - 那么您应该使用Auth::user()->id