2015-01-20 62 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