Laravel 5.3 的这个文件vendorlaravelframeworksrcIlluminateFoundationAuthAuthenticatesUsers.php中有这样一个方法:
vendorlaravelframeworksrcIlluminateFoundationAuthAuthenticatesUsers.php
protected function guard() { return Auth::guard(); //这个语句是什么意思?返回个什么值? }
其中的 Auth::guard() 表示什么意思?返回个什么值?
Auth::guard()
按照我的理解,每一个 Guard 代表一个用户组。
Guard
在 Laravel5.3 中对于多组用户有更加完善的支持,我们可以有多组用户系统,比方说前台、后台各有一组用户系统。
而 Guard 起到什么作用呢,这里可以举个栗子
Auth::check() 是判断用户是否登录的方法,如果使用的默认用户系统,那这样使用没问题。 但是使用两组用户的话,如何使用各组用户的功能呢? Auth::guard('users')->check() 就是用来判断前台用户是否登录,而 Auth::guard('admins')->check() 就是用来判断后台用户是否登录的。
Auth::check() 是判断用户是否登录的方法,如果使用的默认用户系统,那这样使用没问题。
Auth::check()
但是使用两组用户的话,如何使用各组用户的功能呢? Auth::guard('users')->check() 就是用来判断前台用户是否登录,而 Auth::guard('admins')->check() 就是用来判断后台用户是否登录的。
Auth::guard('users')->check()
Auth::guard('admins')->check()
一般来说,你的 auth.php 配置文件中,会配置一个default用户组,一般为users,则使用users组用户时候不用指定guard,而使用其他组用户时候,则需要使用guard来指定使用的哪组用户。
auth.php
或者你可以看看文档,可能会理解更多。
Guard 类的源码https://github.com/laravel/framework/blob/5.1/src/Illuminate/Auth/Guard.php
按照我的理解,每一个
Guard
代表一个用户组。在 Laravel5.3 中对于多组用户有更加完善的支持,我们可以有多组用户系统,比方说前台、后台各有一组用户系统。
而
Guard
起到什么作用呢,这里可以举个栗子一般来说,你的
auth.php
配置文件中,会配置一个default用户组,一般为users,则使用users组用户时候不用指定guard,而使用其他组用户时候,则需要使用guard来指定使用的哪组用户。或者你可以看看文档,可能会理解更多。
Guard 类的源码
https://github.com/laravel/framework/blob/5.1/src/Illuminate/Auth/Guard.php