2017-02-11 71 views
0

我在回顧我的系統上的一些代碼邏輯,並想知道一些事情。一個人登錄系統後,您可以使用$request->user();Auth::user();來獲取用戶對象。

我的問題是:

  1. 什麼比那些顯而易見的其他兩個之間的主要區別?
  2. 在這兩種情況下用戶是從數據庫中提取還是從某個存儲緩存中提取用戶對象?
  3. 這兩種情況都是利用護照的功能從數據庫中獲取用戶嗎?還是從一個很難找到的神祕的存儲土地上拉出來?

在此先感謝, 乾杯!

+0

它們實際上是一樣的。如果你不喜歡Laravel Facades,你可以去請求方法。 https://laravel.com/docs/5.4/authentication#retrieving-the-authenticated-user – bcmcfc

+0

儘管這是一個很好的迴應,並且非常感謝,但我仍然對它們如何觸及數據庫感到困惑。是既是數據庫還是用戶從存儲在緩存服務器端的東西? –

回答

0

讓我給你一個簡要說明:

Auth::user();持有的憑證,也可以在使用Auth用戶登錄到應用程序說的信息。

當用戶登錄成功時,它的憑證以cookiessessions的形式存儲,並在註銷後銷燬。

不,它不是從數據庫中提取的。登錄的用戶詳細信息存儲在session中,並從那裏拉出。

+0

如果你想要更多的信息只是評論下來,我會相應地更新答案。 –

相關問題