laravel入门实战开发(三):laravel默认登录Auth流程分析
程序员文章站
2022-05-12 08:57:50
...
- 上一节,我们生成了默认的登录注册功能
- 这一节,我们对登录和退出的逻辑进行分析,为后面自定义登录注册模块打好基础
App\Http\Controllers\Auth\aaa@qq.com
我们找到登录页面路由,找到LoginController
控制器,找到showLoginForm
方法,在phpstom中ctrl+左键
,快速定位核心代码
在AuthenticatesUsers
中找到showLoginForm
方法,简单提一下trait
,类似于类,可用于多继承使用,一些代码块的复用
public function showLoginForm()
{
return view('auth.login');
}
- 我们找到登录的模板,
resources\\view\\auth\\login.blade.php
模板中是一个form表单的提交,提交的字段为,email
、password
,post提交到路由
App\Http\Controllers\Auth\aaa@qq.com
- 回到
AuthenticatesUsers
文件中,找到login
方法,对以下方法进行分析
$this->validateLogin($request);
if ($this->attemptLogin($request)) {
return $this->sendLoginResponse($request);
}
validateLogin
中是对表单数据的验证,在方法里面我们找到,username()
我们发现提交的字段为email
,这里可以改写成我们需要的字段attemptLogin
,验证登录正确性,登录名和密码正确登录成功,跳转,需要改写成我们自己跳转到的路由
return property_exists($this, ‘redirectTo’) ? $this->redirectTo : ‘/home’;
这里 默认是跳转到home
同样我们找到logout
方法,这里清除了session
,跳转到了根目录
public function logout(Request $request)
{
$this->guard()->logout();
$request->session()->invalidate();
return $this->loggedOut($request) ?: redirect('/');
}
- 到这里我们已经基本明白了登录整个流程,下一节我们将进行我们自定义登录,使用默认登录模块并对其改写