1. 程式人生 > >laravel auth認證

laravel auth認證

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 方法執行的代碼邏輯如下:


    1. 使用 email 字段的值在數據庫中查找;
    2. 如果用戶被找到:
      1). 先將傳參的 password 值進行哈希加密,然後與數據庫中 password 字段中已加密的密碼進行匹配;
      2). 如果匹配後兩個值完全一致,會創建一個『會話』給通過認證的用戶。會話在創建的同時,也會種下一個名為 laravel_session 的 HTTP Cookie,以此 Cookie 來記錄用戶登錄狀態,最終返回 true
      3). 如果匹配後兩個值不一致,則返回 false
    3. 如果用戶未找到,則返回 false
 

laravel auth認證