laravel auth认证

在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
 
posted @ 2018-05-01 13:57  沐屋  阅读(168)  评论(0编辑  收藏  举报