Rumah  >  Artikel  >  rangka kerja php  >  Cara menggunakan perisian tengah untuk penapisan permintaan dalam Laravel

Cara menggunakan perisian tengah untuk penapisan permintaan dalam Laravel

王林
王林asal
2023-11-03 15:31:58578semak imbas

Cara menggunakan perisian tengah untuk penapisan permintaan dalam Laravel

Cara menggunakan middleware untuk menapis permintaan dalam Laravel

Middleware ialah ciri yang sangat berguna dalam rangka kerja Laravel Ia boleh digunakan untuk menapis dan mengesahkan permintaan untuk memastikan bahawa hanya permintaan yang layak boleh mengakses penghalaan tertentu. Dengan menggunakan perisian tengah, kami boleh melaksanakan pengesahan, kawalan kebenaran, pengelogan permintaan dan fungsi lain dengan mudah. Dalam artikel ini, saya akan memperkenalkan cara menggunakan perisian tengah untuk penapisan permintaan dalam Laravel dan memberikan contoh kod khusus.

Langkah 1: Cipta perisian tengah baharu
Pertama, kita perlu mencipta perisian tengah baharu. Jalankan arahan berikut dalam terminal untuk menjana perisian tengah bernama AdminMiddleware:

php artisan make:middleware AdminMiddleware

Fail middleware yang dijana terletak dalam direktori app/Http/Middleware Buka fail ini dan kita akan melihat kod berikut:

<?php

namespace AppHttpMiddleware;

use Closure;

class AdminMiddleware
{
    /**
     * 处理传入请求。
     *
     * @param  IlluminateHttpRequest  $request
     * @param  Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        // 在这里添加你的中间件逻辑

        return $next($request);
    }
}

Langkah 2 :Tentukan. logik middleware
Dalam kaedah pemegang, kami boleh menambah logik middleware kami. Mari kita anggap bahawa kita mahu hanya pengguna pentadbir boleh mengakses laluan tertentu, maka kita boleh mengesahkan di sini untuk menentukan sama ada pengguna mempunyai hak pentadbir. Contoh kod adalah seperti berikut:

// 在这里添加你的中间件逻辑
if (!Auth::user()->isAdmin()) {
    return redirect()->route('home')->with('error', 'You do not have permission to access this page.');
}

Dalam contoh di atas, kami menggunakan fungsi pengesahan Laravel untuk menentukan sama ada pengguna semasa ialah pentadbir. Jika pengguna bukan pentadbir, mereka dialihkan ke halaman utama dan mesej ralat dipaparkan.

Langkah Tiga: Guna Middleware
Setelah kami menentukan logik middleware, kami perlu menggunakan middleware pada laluan yang ditentukan. Dalam Laravel, kita boleh menggunakan middleware melalui middleware global, middleware laluan dan middleware pengawal. Berikut ialah contoh penggunaan middleware dalam laluan:

Route::get('/admin-dashboard', function () {
    // 这是需要进行权限验证的路由
})->middleware('admin');

Dalam contoh di atas, kami menggunakan middleware pada laluan /admin-dashboard, dan nama middleware ialah admin.

Langkah 4: Daftar middleware
Akhir sekali, kita perlu mendaftarkan middleware dalam fail Http/Kernel.php aplikasi. Tambahkan AdminMiddleware yang baru kami buat dalam tatasusunan $middlewares:

protected $routeMiddleware = [
    'admin' => AppHttpMiddlewareAdminMiddleware::class,
];

Kini, kami telah berjaya mencipta middleware dan menggunakannya pada laluan yang ditentukan. Setiap kali pengguna cuba mengakses laluan /admin-dashboard, middleware akan mengesahkan kebenaran pengguna dan melakukan pemprosesan yang sepadan berdasarkan keputusan.

Ringkasan:
Menggunakan perisian tengah untuk penapisan permintaan ialah ciri berkuasa yang disediakan oleh rangka kerja Laravel, yang boleh membantu kami melaksanakan pengesahan, kawalan kebenaran dan fungsi lain dengan mudah. Dengan mencipta middleware baharu, mentakrifkan logik middleware, menggunakan middleware dan mendaftar middleware, kami boleh menapis dan mengesahkan permintaan dengan berkesan untuk memastikan keselamatan dan kebolehpercayaan sistem.

Di atas ialah pengenalan terperinci dan contoh kod khusus tentang cara menggunakan perisian tengah untuk penapisan permintaan dalam Laravel. Harap ini membantu!

Atas ialah kandungan terperinci Cara menggunakan perisian tengah untuk penapisan permintaan dalam Laravel. 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