Laravel 用户认证中 attempt方法

$credentials = request(['name', 'password']);
if (!$token = auth('api')->attempt($credentials)) {
    return response()->json(['error' => 'Unauthorized'], 401);
}

            
attempt 方法会接受一个数组来作为第一个参数,改参数提供的值将用于存在数据库中的用户数据

1.使用id字段的值在数据库中查找
1.如果用户被找到:
    先将传参的password值进行哈希\Hash:make() 加密, 然后与数据库中的password进行已经加密的进行匹配
    如果两个值一致,会创建一个会话给认证的用户

2.为找到返回false

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Laravel 用户登录通常需要以下步骤: 1. 创建一个 Auth 控制器:可以使用以下命令创建一个 Auth 控制器: ```php artisan make:auth``` 这将会创建一个包含登录、注册、密码重置等功能的身份验证系统。 2. 创建用户模型:可以使用以下命令创建一个 User 模型: ```php artisan make:model User``` 3. 配置数据库:在 `.env` 文件配置数据库连接信息。 4. 执行数据库迁移:可以使用以下命令执行数据库迁移: ```php artisan migrate``` 5. 创建登录表单:可以使用 Laravel 的表单生成器来创建一个登录表单。 6. 处理登录请求:在 Auth 控制器,可以使用 `Auth` Facade 来处理用户登录请求,例如: ```php public function login(Request $request) { $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { // 登录成功 return redirect()->intended('/dashboard'); } // 登录失败 return redirect()->back()->withErrors([ 'email' => '邮箱或密码不正确', ]); } ``` 注意,`Auth::attempt()` 方法会尝试使用给定的凭据进行用户身份验证。如果验证成功,则会将用户实例存储在会话并返回 `true`,否则返回 `false`。 7. 创建登出功能:可以使用以下代码来创建一个登出功能: ```php public function logout(Request $request) { Auth::logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect('/'); } ``` 这样,用户就可以通过访问 `/logout` 路由来登出系统了。 以上就是 Laravel 用户登录的基本步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值