搜尋

首頁  >  問答  >  主體

Laravel中Auth::guard()表示什麼意思?

Laravel 5.3 的這個檔案vendorlaravelframeworksrcIlluminateFoundationAuthAuthenticatesUsers.php
中有這樣一個方法:


   protected function guard()
    {
        return Auth::guard(); //这个语句是什么意思?返回个什么值?
    }

其中的 Auth::guard() 表示什麼意思?回傳個什麼值?

習慣沉默習慣沉默2754 天前821

全部回覆(2)我來回復

  • 迷茫

    迷茫2017-05-16 16:51:10

    依照我的理解,每一個 Guard 代表一個使用者群組。

    在 Laravel5.3 中對於多組使用者有更完善的支持,我們可以有多組使用者係統,比方說前台、後台各有一組使用者係統。

    Guard 起到什麼作用呢,這裡可以舉個栗子

    Auth::check() 是判斷使用者是否登入的方法,如果使用的預設使用者係統,那麼這樣使用沒問題。

    但是使用兩組使用者的話,如何使用各組使用者的功能呢? Auth::guard('users')->check() 就是用来判断前台用户是否登录,而 Auth::guard('admins')->check() 就是用來判斷後台使用者是否登入的。

    一般來說,你的auth.php 設定檔中,會設定一個default使用者群組,一般為users,則使用users群組使用者時候不用指定guard,而使用其他群組使用者時候,則需要使用guard來指定使用的哪一組用戶。

    或你可以看看文檔,可能會理解更多。

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 16:51:10

    Guard 類別的原始碼
    https://github.com/laravel/framework/blob/5.1/src/Illuminate/Auth/Guard.php

    回覆
    0
  • 取消回覆