2016-01-20 66 views
28

我正在瀏覽內置的身份驗證控制器,我注意到他們使用了一種叫做「守衛」的東西。直到現在,每當我做了我自己的登錄/註冊我從來沒有碰過這些形式和通常會只是做喜歡的東西:Laravel什麼是警衛?

Auth::attempt() 

沒有任何類型的後衛。我嘗試過查找究竟是什麼,但我無法找到任何信息,有人可以向我解釋警衛的目的是什麼?

回答

34

它們是系統應該如何存儲和檢索用戶信息的定義。

您可以在config/auth.php文件中找到該配置。 Web警衛是傳統的Cookie商店 - 因此Web警衛會指示Laravel以經典方式存儲和檢索會話信息。另一方面,API警衛使用令牌。因此,如果您想使用標頭(承載)或查詢參數中的API令牌對用戶和請求進行身份驗證,則可以使用API​​警衛。

如果您願意,您也可以create your own guard,Matt Stauffer在這個話題上也有很好的介紹blog post

+1

一個警衛也可以對任何事情進行保護。就像阻止事件中的小事買單:''this this-> preventMinorsGuard();'''。可以這樣使用? – brnmonteiro