Laravel 自定义验证过程
首先,你需要明白一点,当你开启auth
中间件的时候,其实是调用了在app/Http/Kernel.php
中的
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
但是这里先不用去纠结这个文件,这里直接看开启这个验证之后会怎样。首先,如果你去访问开启这个验证的控制器,但是你又没有登录的话,那么会默认去搜索login
路由,所以你需要在路由中设置该路由:
Route::get('login','AnyControllerName@AnyFunctionName')->name('login');
而且虽然name('login')
可设可不设,但是最好加上。接着页面就会跳转到你设置的供用户填写表单的页面,该表单的提交路由你也一样要设置好:
Route::post('login','AnyControllerName@AnyFunctionName');
其实由于这里已经由我们可控了,即,我们可以手动确定表单提交到哪个控制器以及对应该控制器下的方法,所以接下来的问题就是如何使Laravel
知道我们确定该用户已经通过了验证了。
这个时候可以使用Auth::attempt()
函数,这个函数的作用原理是将你传递进去的数组,比如下面: