Laravel - Otentikasi

Otentikasi adalah proses mengidentifikasi kredensial pengguna. Dalam aplikasi web, otentikasi dikelola oleh sesi yang mengambil parameter input seperti email atau nama pengguna dan kata sandi, untuk identifikasi pengguna. Jika parameter ini cocok, pengguna dikatakan diautentikasi.

Perintah

Laravel menggunakan perintah berikut untuk membuat formulir dan pengontrol terkait untuk melakukan otentikasi -

php artisan make:auth

Perintah ini membantu dalam membuat perancah otentikasi dengan sukses, seperti yang ditunjukkan pada tangkapan layar berikut -

Kontroler

Kontroler yang digunakan untuk proses otentikasi adalah 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');
   }
}

Hasilnya, aplikasi scaffold yang dihasilkan membuat halaman login dan halaman registrasi untuk melakukan otentikasi. Mereka seperti yang ditunjukkan di bawah ini -

Gabung

Registrasi

Mengautentikasi Pengguna Secara Manual

Laravel menggunakan Authfaçade yang membantu dalam mengautentikasi pengguna secara manual. Ini termasukattempt metode untuk memverifikasi email dan sandi mereka.

Pertimbangkan baris kode berikut untuk LoginController yang mencakup semua fungsi untuk otentikasi -

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