laravel auth認證
阿新 • • 發佈:2018-05-01
email result nat user AC ret 重點 out AR
在laravel 可以使用 auth 門臉類來認證
如果你使用的不是框架自帶的認證,即可按下面的方式來做
當登陸頁面用戶填寫完信息提交,在控制器中
use Illuminate\Support\Facades\Auth
使用了auth後即可使用
Auth::attempt(數組)
來認證,attempt的密碼驗證是直接驗證加密過的 bcrypt
比如:
if(Auth::attempt($result))
{
return redirect()->route(‘admin.user.index‘);
}
return redirect()->back();
如果滿足要求即可重定向,不滿足就返回.
在進行表單提交的時候,用一個input作為記住我,name值取為remember,在對應的數據表中應該有一個對應的字段remember_token,來存取,在進行用戶登陸驗證的時候,純如參數,第一個為登陸的賬號密碼,第二個為記住我的值。
重點:
attempt
方法會接收一個數組來作為第一個參數,該參數提供的值將用於尋找數據庫中的用戶數據。因此在上面的例子中,attempt
方法執行的代碼邏輯如下:
- 使用
email
字段的值在數據庫中查找; - 如果用戶被找到:
1). 先將傳參的password
值進行哈希加密,然後與數據庫中password
字段中已加密的密碼進行匹配;
2). 如果匹配後兩個值完全一致,會創建一個『會話』給通過認證的用戶。會話在創建的同時,也會種下一個名為laravel_session
的 HTTP Cookie,以此 Cookie 來記錄用戶登錄狀態,最終返回true
;
3). 如果匹配後兩個值不一致,則返回false
- 如果用戶未找到,則返回
false
。
laravel auth認證