Laravel - 身份验证

身份验证是识别用户凭据的过程.在Web应用程序中,身份验证由会话管理,会话使用电子邮件或用户名和密码等输入参数进行用户识别.如果这些参数匹配,则说用户已通过身份验证.

命令

Laravel使用以下命令创建表单以及要执行的关联控制器authentication :

php artisan make:auth

此命令有助于成功创建身份验证脚手架,如下面的屏幕截图 :

Authentication

控制器

用于身份验证过程的控制器是 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');
      }
   }
}