Rumah  >  Artikel  >  rangka kerja php  >  Cara menggunakan Laravel untuk mengesahkan pengguna telah log masuk

Cara menggunakan Laravel untuk mengesahkan pengguna telah log masuk

PHPz
PHPzasal
2023-04-23 09:09:571142semak imbas

Laravel ialah salah satu rangka kerja PHP yang paling popular pada masa ini. Ia menyediakan banyak alat dan fungsi berguna yang membolehkan pembangun membina aplikasi web yang berkuasa dengan cepat. Dalam banyak aplikasi web, pengguna perlu log masuk untuk mengakses halaman yang dilindungi, dan kita perlu belajar cara menggunakan Laravel untuk mengesahkan pengguna jika mereka log masuk.

Dalam Laravel, sistem pengesahan pengguna diuruskan oleh Auth Laravel rasmi Sistem ini menyediakan banyak fungsi pengesahan biasa, seperti pendaftaran pengguna, log masuk dan tetapan semula kata laluan. Dalam sistem ini, kami menggunakan Middleware untuk mengesahkan bahawa pengguna telah log masuk. Middleware ialah penapis permintaan yang digunakan untuk melaksanakan beberapa operasi sebelum permintaan mencapai laluan yang ditentukan. Kami boleh menggunakan Middleware untuk mengesahkan bahawa pengguna telah log masuk supaya kami boleh menyekat akses pengguna ke halaman yang dilindungi.

Di bawah, saya akan menunjukkan kepada anda cara menggunakan Middleware untuk mengesahkan sama ada pengguna telah log masuk. Kita boleh menggunakan arahan make:middleware Laravel sendiri untuk mencipta Middleware baharu Contohnya, kita boleh mencipta middleware bernama "AuthMiddleware".

Kami boleh menjalankan arahan berikut untuk mencipta AuthMiddleware:

php artisan make:middleware AuthMiddleware

Selepas menjalankan arahan di atas, Laravel akan mencipta fail AuthMiddleware.php dalam direktori app/Http/Middleware. Pada ketika ini, kami perlu menulis logik pengesahan kami dalam kaedah pemegang fail ini. Berikut ialah contoh:

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;

class AuthMiddleware
{
    public function handle($request, Closure $next)
    {
        if (!Auth::check()) {
            return redirect(&#39;/login&#39;);
        }

        return $next($request);
    }
}

Dalam contoh di atas, kami mula-mula menggunakan kaedah Auth::check() untuk menyemak sama ada pengguna sudah log masuk. Jika pengguna tidak log masuk, kami akan mengubah hala ke halaman /login. Jika pengguna sudah log masuk, kami akan membenarkan permintaan diteruskan, inilah yang kami panggil "melalui Middleware".

Seterusnya, kami perlu menggunakan AuthMiddleware dalam laluan kami. Terdapat dua cara kami boleh menggunakan Middleware dalam definisi laluan Laravel:

Kaedah 1: Gunakan Middleware dalam definisi laluan

Route::get(&#39;/dashboard&#39;, function () {
    return view(&#39;dashboard&#39;);
})->middleware('auth');

Dalam kod di atas, kami menggunakan perisian tengah auth untuk mengesahkan bahawa pengguna sedang log masuk. Apabila pengguna mengakses halaman /dashboard, jika pengguna tidak log masuk, ia akan diubah hala ke halaman /login.

Kaedah 2: Gunakan Middleware dalam kelas pengawal

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class DashboardController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');
    }

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

Dalam kod di atas, kami menggunakan AuthMiddleware dalam pengawal Apabila pengguna mengakses /papan pemuka, jika pengguna tidak log masuk , Ia akan diubah hala ke halaman /login.

Sekarang kami telah mempelajari cara menggunakan Laravel untuk mengesahkan bahawa pengguna telah log masuk, kami boleh menggunakan Middleware dalam pengawal dan laluan kami untuk menyekat pengguna daripada mengakses halaman yang dilindungi. Melalui Middleware, kami boleh menjadikan aplikasi kami lebih selamat dan boleh dipercayai.

Atas ialah kandungan terperinci Cara menggunakan Laravel untuk mengesahkan pengguna telah log masuk. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:apa itu pengguna laravelArtikel seterusnya:apa itu pengguna laravel