Laravel - 身份验证



身份验证是识别用户凭据的过程。在 Web 应用中,身份验证由会话管理,会话获取诸如电子邮件或用户名和密码之类的输入参数,用于用户识别。如果这些参数匹配,则认为用户已通过身份验证。

命令

Laravel 使用以下命令创建表单以及相关的控制器来执行身份验证:

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

因此,生成的脚手架应用程序创建了登录页面和注册页面以执行身份验证。它们如下所示:

登录

Login Page

注册

Register

手动验证用户

Laravel 使用Auth外观,它有助于手动验证用户。它包括attempt方法来验证其电子邮件和密码。

考虑以下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');
      }
   }
}
广告