laravel - Laravel 身份验证生命周期
问题描述
我试图了解 laravel 如何处理身份验证请求,以便能够编写我自己的身份验证方法,允许我在身份验证之前检查多个表中的数据(基本上有一些列我需要检查以了解是否用户可以登录)。
实际上,我对警卫、中间件、提供者和驱动程序之间的关系感到很困惑。
有人可以解释一下登录请求的生命周期吗?谢谢
编辑:我正在使用 laravel 5.7,标准 Auth 脚手架,可使用 make:auth
解决方案
要进行自定义身份验证,请按照以下步骤操作
1.转到 routes/web.php 并创建一个获取路由来处理登录视图和发布登录路由来处理登录逻辑
Route::get('login','LoginController@show')
Route::post('login','LoginController@login')
2. 制作一个名为 LoginController 的控制器
php artisan make:controller LoginController
4.在LoginController里面做一个叫做login的函数来处理这样的登录逻辑
public function login(){
$input = $this->validate(request(),['username'=>'required','password'=>'required']);
$model = CustomUsersModel::where('username',$input['username'])
->where('password',bcrypt($input['password']))->first();
if($model){
//user exist and valid login information
auth()->login($model);//login user via model
//now user loggedin
}
//handle wrong login information
}
推荐阅读
- sql - 如何将时间戳数据添加到 PostgreSQL 表中?
- ios - SwiftUI:整个屏幕的背景颜色而不是简单的视图?
- mysql - 数据库设计 - 如何以独特的方式将一个表与其他两个表关联起来?
- php - PHP Laravel,方法 updateOrCreate 的替换
- php - socket.io laravel echo 在 ubuntu 的生产环境中不起作用
- mysql - Mysql复杂的嵌套视图值
- jquery - 提取 JSON 数据时控制台中出现未定义错误
- python - 如何使用此 Python 脚本中的函数?
- android - 如何在膨胀布局时循环数据?
- python - 循环中创建的字典值被覆盖