2017-02-11 673 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

如果你想要更多的信息只是评论下来,我会相应地更新答案。 –

相关问题