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 使用Auth外观来帮助手动验证用户身份。它包括验证电子邮件和密码的尝试方法。

考虑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');
      }
   }
}