


Laravel Middleware: Memperkukuh Mekanisme Pengesahan Aplikasi Web
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
这将在app/Http/Middleware
目录下创建一个Authenticate.php
文件,其中包含了中间件的基本框架代码。我们可以在handle
方法中编写身份验证逻辑。
public function handle(Request $request, Closure $next) { // 验证用户身份 if (!Auth::check()) { return redirect()->route('login'); } return $next($request); }
上述代码中,我们使用Auth::check()
方法来检查当前用户是否已经登录。如果用户未登录,则将其重定向到登录页面;否则,我们将请求传递给下一个中间件或控制器。
三、注册中间件
创建好自定义中间件后,我们需要将其注册到Laravel应用程序中。在app/Http/Kernel.php
文件中,我们可以找到$routeMiddleware
数组,将中间件以键值对的形式添加到数组中。
protected $routeMiddleware = [ // ... 'auth' => AppHttpMiddlewareAuthenticate::class, // ... ];
在上述代码中,我们将Authenticate
中间件注册为auth
键的值。这样,在需要验证用户身份的地方,就可以通过auth
Route::get('/dashboard', function () { // 这个路由需要用户验证 })->middleware('auth');
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'); } // ... }
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
- 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. - 4. Menggunakan perisian tengah Menggunakan perisian tengah dalam laluan atau pengawal adalah sangat mudah. Berikut ialah beberapa contoh penggunaan biasa:
- Menggunakan middleware dalam laluan:
Route::middleware('auth')->group(function () { // 这个分组里的路由都需要用户验证 });
Authenticate
sebagai nilai kekunci auth
. Dengan cara ini, di mana identiti pengguna perlu disahkan, ia boleh dicapai melalui perisian tengah auth
.
rrreee
Atas ialah kandungan terperinci Laravel Middleware: Memperkukuh Mekanisme Pengesahan Aplikasi Web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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 termasuk ciri penomboran yang membantu pengguna atau pembangun menyertakan ciri penomboran. Paginator Laravel disepadukan dengan pembina pertanyaan dan ORM Fasih. Kaedah penomboran automatik

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 menjalankan penyelesaian masalah yang tidak responsif semasa menggunakan penjadualan tugas jadual Laravel, banyak pemaju akan menghadapi masalah ini: Jadual: Jalankan ...

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

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

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.

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