Rumah pembangunan bahagian belakang tutorial php Laravel Middleware: Memperkukuh Mekanisme Pengesahan Aplikasi Web

Laravel Middleware: Memperkukuh Mekanisme Pengesahan Aplikasi Web

Jul 28, 2023 pm 02:01 PM
laravel perisian tengah Pengesahan

Laravel middleware: Memperkukuh mekanisme pengesahan aplikasi web

Pengenalan:
Dalam era Internet hari ini, keselamatan data dan perlindungan privasi pengguna telah menjadi salah satu isu terpenting. Untuk aplikasi web, pengesahan adalah salah satu pautan utama untuk memastikan keselamatan maklumat pengguna. Laravel ialah rangka kerja pembangunan berdasarkan PHP Ia menyediakan mekanisme perisian tengah yang berkuasa yang boleh membantu pembangun mengendalikan proses pengesahan dengan lebih fleksibel. Artikel ini akan memperkenalkan konsep asas dan penggunaan perisian tengah Laravel, dan menyediakan beberapa kod sampel untuk mengukuhkan mekanisme pengesahan aplikasi web.

1. Apakah itu middleware?
Middleware ialah konsep utama dalam rangka kerja Laravel untuk mengendalikan permintaan HTTP. Ia membolehkan anda melakukan beberapa logik kod seperti pengesahan, pengelogan, kawalan akses, dsb. sebelum atau selepas permintaan sampai ke pengawal. Middleware boleh ditakrifkan sebagai kelas bebas atau fungsi penutupan dan digunakan untuk permintaan tertentu melalui laluan dan pengawal.

2. Cipta perisian tengah tersuai
Mencipta perisian tengah tersuai dalam Laravel adalah sangat mudah, hanya gunakan perintah make:middleware Artisan. Sebagai contoh, kami mencipta perisian tengah yang dipanggil Authenticate untuk mengesahkan pengguna: make:middleware Artisan命令即可。例如,我们创建一个名为Authenticate的中间件来验证用户身份:

php artisan make:middleware Authenticate
Salin selepas log masuk

这将在app/Http/Middleware目录下创建一个Authenticate.php文件,其中包含了中间件的基本框架代码。我们可以在handle方法中编写身份验证逻辑。

public function handle(Request $request, Closure $next)
{
    // 验证用户身份
    if (!Auth::check()) {
        return redirect()->route('login');
    }
    
    return $next($request);
}
Salin selepas log masuk

上述代码中,我们使用Auth::check()方法来检查当前用户是否已经登录。如果用户未登录,则将其重定向到登录页面;否则,我们将请求传递给下一个中间件或控制器。

三、注册中间件
创建好自定义中间件后,我们需要将其注册到Laravel应用程序中。在app/Http/Kernel.php文件中,我们可以找到$routeMiddleware数组,将中间件以键值对的形式添加到数组中。

protected $routeMiddleware = [
    // ...
    'auth' => AppHttpMiddlewareAuthenticate::class,
    // ...
];
Salin selepas log masuk

在上述代码中,我们将Authenticate中间件注册为auth键的值。这样,在需要验证用户身份的地方,就可以通过auth

Route::get('/dashboard', function () {
    // 这个路由需要用户验证
})->middleware('auth');
Salin selepas log masuk

Ini akan mencipta Authenticate dalam direktori <code>app/Http/Middleware. code> fail, yang mengandungi kod rangka kerja asas perisian tengah. Kita boleh menulis logik pengesahan dalam kaedah handle.

class DashboardController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');
    }
    
    // ...
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah Auth::check() untuk menyemak sama ada pengguna semasa telah log masuk. Jika pengguna tidak log masuk, ubah hala mereka ke halaman log masuk jika tidak, kami menghantar permintaan kepada middleware atau pengawal seterusnya.

    3. Daftar middleware
  1. Selepas mencipta middleware tersuai, kita perlu mendaftarkannya ke dalam aplikasi Laravel. Dalam fail app/Http/Kernel.php, kita boleh mencari tatasusunan $routeMiddleware dan menambah middleware pada tatasusunan dalam bentuk pasangan nilai kunci.
  2. Route::middleware('auth')->group(function () {
        // 这个分组里的路由都需要用户验证
    });
    Salin selepas log masuk
    Dalam kod di atas, kami mendaftarkan perisian tengah Authenticate sebagai nilai kekunci auth. Dengan cara ini, di mana identiti pengguna perlu disahkan, ia boleh dicapai melalui perisian tengah auth.
    1. 4. Menggunakan perisian tengah
    2. Menggunakan perisian tengah dalam laluan atau pengawal adalah sangat mudah. Berikut ialah beberapa contoh penggunaan biasa:
    1. Menggunakan middleware dalam laluan:
    rrreee

    Menggunakan middleware dalam pengawal:


    rrreee

    🎜Menggunakan middleware dalam laluan kumpulan: 🎜 Thereee🎜 menunjukkan kod di atas penggunaan asas perisian tengah Laravel. Dengan menggunakan perisian tengah, kami boleh melaksanakan mekanisme pengesahan aplikasi web dengan mudah dan melindungi keselamatan maklumat peribadi pengguna. 🎜🎜Kesimpulan: 🎜Laravel middleware menyediakan pembangun dengan cara yang mudah dan fleksibel untuk mengendalikan proses pengesahan. Kami boleh mengesahkan aplikasi web dengan mudah dengan mencipta perisian tengah tersuai dan mendaftarkannya dengan aplikasi. Kami berharap contoh kod yang disediakan dalam artikel ini dapat membantu pembaca mengukuhkan mekanisme pengesahan aplikasi web mereka sendiri dengan lebih baik. 🎜

    Atas ialah kandungan terperinci Laravel Middleware: Memperkukuh Mekanisme Pengesahan Aplikasi Web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Laravel - Perintah Artisan Laravel - Perintah Artisan Aug 27, 2024 am 10:51 AM

Laravel - Perintah Artisan - Laravel 5.7 hadir dengan cara baharu untuk merawat dan menguji arahan baharu. Ia termasuk ciri baharu untuk menguji arahan artisan dan demonstrasi disebut di bawah?

Laravel - Penyesuaian Penomboran Laravel - Penyesuaian Penomboran Aug 27, 2024 am 10:51 AM

Laravel - Penyesuaian Penomboran - Laravel termasuk ciri penomboran yang membantu pengguna atau pembangun menyertakan ciri penomboran. Paginator Laravel disepadukan dengan pembina pertanyaan dan ORM Fasih. Kaedah penomboran automatik

Bagaimana untuk mendapatkan kod pengembalian semasa menghantar e -mel gagal di Laravel? Bagaimana untuk mendapatkan kod pengembalian semasa menghantar e -mel gagal di Laravel? Apr 01, 2025 pm 02:45 PM

Kaedah untuk mendapatkan kod kembali apabila menghantar e -mel Laravel gagal. Apabila menggunakan Laravel untuk membangunkan aplikasi, anda sering menghadapi situasi di mana anda perlu menghantar kod pengesahan. Dan pada hakikatnya ...

Tugas Jadual Laravel tidak dilaksanakan: Apa yang harus saya lakukan jika tugas itu tidak berjalan selepas Jadual: Jalankan Perintah? Tugas Jadual Laravel tidak dilaksanakan: Apa yang harus saya lakukan jika tugas itu tidak berjalan selepas Jadual: Jalankan Perintah? Mar 31, 2025 pm 11:24 PM

Tugas Jadual Laravel menjalankan penyelesaian masalah yang tidak responsif semasa menggunakan penjadualan tugas jadual Laravel, banyak pemaju akan menghadapi masalah ini: Jadual: Jalankan ...

Di Laravel, bagaimana menangani situasi di mana kod pengesahan gagal dihantar melalui e -mel? Di Laravel, bagaimana menangani situasi di mana kod pengesahan gagal dihantar melalui e -mel? Mar 31, 2025 pm 11:48 PM

Kaedah mengendalikan kegagalan e -mel Laravel untuk menghantar kod pengesahan adalah menggunakan Laravel ...

Bagaimana untuk melaksanakan fungsi jadual tersuai untuk mengklik untuk menambah data dalam admin dcat? Bagaimana untuk melaksanakan fungsi jadual tersuai untuk mengklik untuk menambah data dalam admin dcat? Apr 01, 2025 am 07:09 AM

Cara melaksanakan fungsi jadual klik tersuai untuk menambah data dalam dcatadmin (laravel-admin) semasa menggunakan dcat ...

Laravel - Pelayan Buang Laravel - Pelayan Buang Aug 27, 2024 am 10:51 AM

Laravel - Dump Server - Laravel dump server datang dengan versi Laravel 5.7. Versi sebelumnya tidak termasuk pelayan dump. Pelayan dump akan menjadi kebergantungan pembangunan dalam fail komposer laravel/laravel.

Perkongsian Sambungan Laravel Redis: Mengapa kaedah pilih mempengaruhi sambungan lain? Perkongsian Sambungan Laravel Redis: Mengapa kaedah pilih mempengaruhi sambungan lain? Apr 01, 2025 am 07:45 AM

Kesan perkongsian sambungan Redis dalam rangka kerja Laravel dan pilih kaedah apabila menggunakan Rangka Kerja Laravel dan Redis, pemaju mungkin menghadapi masalah: melalui konfigurasi ...

See all articles