美文网首页
laravel 创建中间件

laravel 创建中间件

作者: 9a4a58bf4d80 | 来源:发表于2020-04-20 14:13 被阅读0次

1.创建中间件

在app/Http/Middleware 下创建同一个php文件文件内容

<?php

namespace App\Http\Middleware;
use Illuminate\Http\Response;
use Closure;

class CheckToken
{
   /**
    * Handle an incoming request.
    *
    * @param \Illuminate\Http\Request $request
    * @param \Closure $next
    * @return mixed
    */
   public function handle($request, Closure $next)
   {
       return $next($request);
   }
}

可通过Artisan 快速创建

php artisan make:middleware CheckToken

2.注册中间件

支持全局中间件 ----------在 protected $middleware 下配置

protected $middleware = [
        \App\Http\Middleware\TrustProxies::class,
        \Fruitcake\Cors\HandleCors::class,
        \App\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
        \App\Http\Middleware\CheckToken::class, 新注册的全局中间件
    ];

分配中间件到指定路由 在protected $routeMiddleware 下配置

protected $routeMiddleware = [
        'auth' => \App\Http\Middleware\Authenticate::class,
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
        'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
        'can' => \Illuminate\Auth\Middleware\Authorize::class,
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
        'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
        'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
        'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
        'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
        'CheckToken' => \App\Http\Middleware\CheckToken::class,   //新注册中间件
    ];

分配中间件

-------------------单个路由分配单个中间件-----------------
Route::get('/', function () {
    //
})->middleware('token');
-----------------单个路由分配多个中间件-------------

Route::get('/', function () {
    //
})->middleware('token', 'auth');
---------------给一组路由分配多个中间件----------------------

Route::middleware(['first', 'second'])->group(function () {
    Route::get('/', function () {
        // Uses first & second Middleware
    });
    Route::get('user/profile', function () {
        // Uses first & second Middleware
    });
});

相关文章

  • 翻译

    Laravel 的路由中间件 简介 创建中间件 注册中间件全局中间件为路由指定中间件中间件组 中间件参数 Term...

  • 9月19日知识点记录

    一.Laravel下SESSION的使用 1.创建session中间件 2.注册中间件 3.上传值到SESSION...

  • laravel Pipeline 原理的详细解析

    laravel 中间件使用了 Pipeline vendor\laravel\framework\src\Illu...

  • laravel 创建中间件

    1.创建中间件 在app/Http/Middleware 下创建同一个php文件文件内容 可通过Artisan 快...

  • Laravel学习笔记-中间件

    Laravel 中间件是什么? 简而言之,中间件在 laravel 中的作用就是过滤 HTTP 请求,根据不同的请...

  • [教程] 大白话 Laravel 中间件

    文章转自:https://learnku.com/laravel/t/27426 Laravel 中间件是什么? ...

  • Laravel 文档阅读:中间件

    简介 中间件用来过滤项目中的 HTTP 请求,实际上 Laravel 项目中大量使用了中间件。例如,Laravel...

  • 64. 中间件

    Laravel 中间件提供了一种方便的机制来过滤进入应用的 HTTP 请求。 Laravel 自带了一些中间件,包...

  • 对于 Laravel 路由请求跨域问题的解决方案

    对于Laravel 路由请求跨域问题的解决方案 (未整理,很乱版,太懒了) 一、创建添加 响应头 的中间件,并将中...

  • Laravel中间件

    在Laravel有两种类型的中间件:全局中间件、路由中间件$middleware属性用于注册全局中间件,$rout...

网友评论

      本文标题:laravel 创建中间件

      本文链接:https://www.haomeiwen.com/subject/jqrrihtx.html