laravel入门实战开发(三):laravel默认登录Auth流程分析

旧城等待, 2023-02-14 06:47 102阅读 0赞
  • 上一节,我们生成了默认的登录注册功能
  • 这一节,我们对登录和退出的逻辑进行分析,为后面自定义登录注册模块打好基础

App\Http\Controllers\Auth\LoginController@showLoginForm

我们找到登录页面路由,找到LoginController控制器,找到showLoginForm 方法,在phpstom中ctrl+左键,快速定位核心代码
在这里插入图片描述

AuthenticatesUsers中找到showLoginForm 方法,简单提一下trait,类似于类,可用于多继承使用,一些代码块的复用

  1. public function showLoginForm()
  2. {
  3. return view('auth.login');
  4. }
  • 我们找到登录的模板,resources\\view\\auth\\login.blade.php

模板中是一个form表单的提交,提交的字段为,emailpassword,post提交到路由

App\Http\Controllers\Auth\LoginController@login

  • 回到 AuthenticatesUsers 文件中,找到login方法,对以下方法进行分析

    $this->validateLogin($request);

    if ($this->attemptLogin($request)) {

    1. return $this->sendLoginResponse($request);

    }

validateLogin中是对表单数据的验证,在方法里面我们找到,
username()我们发现提交的字段为email,这里可以改写成我们需要的字段
attemptLogin,验证登录正确性,登录名和密码正确登录成功,跳转,需要改写成我们自己跳转到的路由

return property_exists($this, ‘redirectTo’) ? $this->redirectTo : ‘/home’;
这里 默认是跳转到home

同样我们找到logout方法,这里清除了session,跳转到了根目录

  1. public function logout(Request $request)
  2. {
  3. $this->guard()->logout();
  4. $request->session()->invalidate();
  5. return $this->loggedOut($request) ?: redirect('/');
  6. }
  • 到这里我们已经基本明白了登录整个流程,下一节我们将进行我们自定义登录,使用默认登录模块并对其改写

发表评论

表情:
评论列表 (有 0 条评论,102人围观)

还没有评论,来说两句吧...

相关阅读