首页 > 解决方案 > Laravel 身份验证生命周期

问题描述

我试图了解 laravel 如何处理身份验证请求,以便能够编写我自己的身份验证方法,允许我在身份验证之前检查多个表中的数据(基本上有一些列我需要检查以了解是否用户可以登录)。
实际上,我对警卫、中间件、提供者和驱动程序之间的关系感到很困惑。

有人可以解释一下登录请求的生命周期吗?谢谢

编辑:我正在使用 laravel 5.7,标准 Auth 脚手架,可使用 make:auth

标签: laravelauthentication

解决方案


要进行自定义身份验证,请按照以下步骤操作

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

}

推荐阅读