Rumah > rangka kerja php > Laravel > Apakah middlewares laravel?

Apakah middlewares laravel?

青灯夜游
Lepaskan: 2023-01-13 00:40:23
asal
3265 orang telah melayarinya

Perisian tengah termasuk: 1. Authenticate; 2. CheckForMaintenanceMode; 4. RedirectIfAuthenticated;

Apakah middlewares laravel?

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi Laravel 6, komputer Dell G3.

perisian tengah Laravel sendiri

Laravel disertakan dengan beberapa perisian tengah, termasuk pengesahan, perlindungan CSRF, dsb. Perisian tengah mana yang didayakan secara khusus oleh Laravel boleh dilihat melalui fail appHttpKernel.php. Untuk middleware bermula dengan AppHttpMiddleware (terletak dalam direktori app/Http/Middleware), kami boleh menyesuaikan tingkah lakunya.

Sahkan middleware

Fail sumber: appHttpMiddlewareHttpMiddlewareAuthenticate.php

<?php
namespace App\Http\Middleware;
use Illuminate\Auth\Middleware\Authenticate as Middleware;
class Authenticate extends Middleware
{
    /**
     * Get the path the user should be redirected to when they are not authenticated.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return string
     */
    protected function redirectTo($request)
    {
        if (! $request->expectsJson()) {
            return route(&#39;login&#39;);
        }
    }
}
Salin selepas log masuk

Fungsi:

Pengesahan pengguna. Kaedah redirectTo boleh diubah suai untuk mengembalikan laluan kepada pengguna yang tidak disahkan harus diubah hala.

CheckForMaintenanceMode middleware

Fail sumber: appHttpMiddlewareCheckForMaintenanceMode.php

<?php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode as Middleware;
class CheckForMaintenanceMode extends Middleware
{
    /**
     * The URIs that should be reachable while maintenance mode is enabled.
     *
     * @var array
     */
    protected $except = [
        //
    ];
}
Salin selepas log masuk

Fungsi:

Kesan sama ada projek dalam penyelenggaraan mod . URL yang masih boleh diakses dalam mod penyelenggaraan boleh ditetapkan melalui harta tatasusunan $except.

Perisian tengah EncryptCookies

Fail sumber: appHttpMiddlewareEncryptCookies.php

<?php
namespace App\Http\Middleware;
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
class EncryptCookies extends Middleware
{
    /**
     * The names of the cookies that should not be encrypted.
     *
     * @var array
     */
    protected $except = [
        //
    ];
}
Salin selepas log masuk

Fungsi

Sulitkan dan sahkan kuki. Kuki yang tidak disulitkan boleh ditetapkan melalui atribut tatasusunan $except.

RedirectIfAuthenticated middleware

Fail sumber: appHttpMiddlewareRedirectIfAuthenticated.php

<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class RedirectIfAuthenticated
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */
    public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {
            return redirect(&#39;/home&#39;);
        }
        return $next($request);
    }
}
Salin selepas log masuk

Fungsi:

Apabila halaman permintaan didaftarkan, Apabila log masuk atau terlupa kata laluan, semak sama ada pengguna sudah log masuk. Jika ya, ubah hala ke halaman utama Jika tidak, buka antara muka yang sepadan. Laluan untuk mengubah hala ke boleh disesuaikan dalam kaedah pemegang.

perisian tengah TrimStrings

Fail sumber: appHttpMiddlewareTrimStrings.php

<?php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware;
class TrimStrings extends Middleware
{
    /**
     * The names of the attributes that should not be trimmed.
     *
     * @var array
     */
    protected $except = [
        &#39;password&#39;,
        &#39;password_confirmation&#39;,
    ];
}
Salin selepas log masuk

Fungsi:

Kandungan parameter permintaan sebelum dan selepas Pembersihan ruang putih. Parameter yang tidak diproses boleh ditetapkan melalui sifat tatasusunan $except.

Perisian tengah TrustProxies

Fail sumber: appHttpMiddlewareTrustProxies.php

<?php
namespace App\Http\Middleware;
use Illuminate\Http\Request;
use Fideloper\Proxy\TrustProxies as Middleware;
class TrustProxies extends Middleware
{
    /**
     * The trusted proxies for this application.
     *
     * @var array|string
     */
    protected $proxies;
    /**
     * The headers that should be used to detect proxies.
     *
     * @var int
     */
    protected $headers = Request::HEADER_X_FORWARDED_ALL;
}
Salin selepas log masuk

Fungsi:

Konfigurasikan proksi yang dipercayai. Senarai proksi yang dipercayai boleh ditetapkan melalui sifat $proxies dan sifat $headers menetapkan medan pengepala HTTP yang digunakan untuk mengesan proksi.

VerifyCsrfToken middleware

Fail sumber: appHttpMiddlewareVerifyCsrfToken.php

<?php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
class VerifyCsrfToken extends Middleware
{
    /**
     * Indicates whether the XSRF-TOKEN cookie should be set on the response.
     *
     * @var bool
     */
    protected $addHttpCookie = true;
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        //
    ];
}
Salin selepas log masuk

Fungsi:

Sahkan token dalam permintaan Padanan token yang disimpan dalam sesi. URL yang tidak melakukan pengesahan CSRF boleh ditetapkan melalui atribut tatasusunan $except.

Cadangan berkaitan: Lima tutorial video Laravel terbaharu

Atas ialah kandungan terperinci Apakah middlewares laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan