Laravel认证


认证是识别用户凭证的过程。在Web应用程序中,身份验证由会话进行管理,会话采用输入参数(例如电子邮件或用户名和密码)进行用户标识。如果这些参数匹配,则说该用户被认证。

本章向您介绍Laravel Web应用程序中的身份验证过程。

命令

Laravel使用以下命令创建表单和关联的控制器来执行身份验证 -

php artisan make:auth

该命令有助于成功创建身份验证脚手架,如以下屏幕截图所示 -

认证

调节器

用于认证过程的控制器是 HomeController

<?php

namespace App\Http\Controllers;

use App\Http\Requests;
use Illuminate\Http\Request;

class HomeController extends Controller{
   /**
      * Create a new controller instance.
      *
      * @return void
   */

   public function __construct(){
      $this->middleware('auth');
   }

   /**
      * Show the application dashboard.
      *
      * @return \Illuminate\Http\Response
   */

   public function index(){
      return view('home');
   }
}

结果,生成的脚手架应用程序创建用于执行认证的登录页面和注册页面。他们如下所示 -

登录

登录页面

注册

寄存器

手动验证用户

Laravel使用 验证 的外观,这有助于手动认证用户。它包括验证他们的电子邮件和密码的尝试方法。

考虑以下用于 LoginController 的代码行,其中包含所有用于身份验证的功能 -

<?php

// Authentication mechanism
namespace App\Http\Controllers;

use Illuminate\Support\Facades\Auth;

class LoginController extends Controller{
   /**
      * Handling authentication request
      *
      * @return Response
   */

   public function authenticate() {
      if (Auth::attempt(['email' => $email, 'password' => $password])) {

         // Authentication passed...
         return redirect()->intended('dashboard');
      }
   }
}