菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
93
0

Laravel 第七章学习——会话管理

原创
05/13 14:22
阅读数 344

Laravel强大的用户认证机制(部分内容)

一、Laravel 提供的 Auth 的 attempt 方法可以让我们很方便的完成用户的身份认证操作:
attempt 方法会接收一个数组来作为第一个参数,该参数提供的值将用于寻找数据库中的用户数据。因此在上面的例子中,attempt 方法执行的代码逻辑如下:

  1. 使用 email 字段的值在数据库中查找;
  2. 如果用户被找到:\
    1). 先将传参的 password 值进行哈希加密,然后与数据库中 password 字段中已加密的密码进行匹配;\
    2). 如果匹配后两个值完全一致,会创建一个『会话』给通过认证的用户。会话在创建的同时,也会种下一个名为 laravel_session 的 HTTP Cookie,以此 Cookie 来记录用户登录状态,最终返回 true;\
    3). 如果匹配后两个值不一致,则返回 false
  3. 如果用户未找到,则返回 false

结合 attempt 方法对用户身份进行认证的具体代码实现如下,使用 Auth 前需要对其进行引用(注意文件顶部引入 use Auth;);

二、 Laravel 提供的 Auth::user() 方法来获取 当前登录用户 的信息;

三、Laravel 提供了 Auth::check() 方法用于判断当前用户是否已登录,已登录返回 true,未登录返回 false。

四、{{ method_field('DELETE') }} 伪造表单发起delete请求;

五、Auth::login($user); 让一个已认证通过的用户实例进行登录;

六、Laravel 默认提供的Auth::logout() 方法来实现用户的退出功能;

七、Auth::attempt() 方法可接收两个参数,第一个参数为需要进行用户身份认证的数组,第二个参数为是否为用户开启『记住我』功能的布尔值。

发表评论

0/200
93 点赞
0 评论
收藏
为你推荐 换一批