ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何确定一个路由经过了那些中间件

2022-07-14 11:06:48  阅读:147  来源: 互联网

标签:function Http middleware 中间件 确定 class 路由


主要从四个地方进行查看

1.查看\app\Http\Kernel.php中的全局路由。全局路由是所有路由都要经过的中间件

    /**
     * The application's global HTTP middleware stack.
     *
     * These middleware are run during every request to your application.
     *
     * @var array
     */
    protected $middleware = [
        // \App\Http\Middleware\TrustHosts::class,
        \App\Http\Middleware\TrustProxies::class,
        \Fruitcake\Cors\HandleCors::class,
        \App\Http\Middleware\PreventRequestsDuringMaintenance::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,

    ];

 

2.查看\routes中的路由文件。路由文件在定义路由的时候会同时指定中间件或者中间件组

Route::get('admin/profile', function () {
    //
})->middleware('auth');

Route::get('/', function () {
    //
})->middleware('first', 'second');

Route::get('admin/profile', function () {
    //
})->middleware(CheckAge::class);

Route::middleware(['auth','ip.limit'])->group(function () {
    Route::resource('user', App\Http\Controllers\UserController::class)->except(['show']);
});

 

3.查看路由服务提供者文件。 \app\Providers\RouteServiceProvider.php。这里可以为某些路由文件指定中间件或者中间件组。

路由文件中的所有路由都会经过指定的中间件或者中间件组

    public function boot()
    {
        $this->configureRateLimiting();

        $this->routes(function () {
            Route::prefix('api')
                ->middleware('api')
                ->namespace($this->namespace)
                ->group(base_path('routes/api.php'));

            Route::middleware('web')
                ->namespace($this->namespace)
                ->group(base_path('routes/web.php'));
        });
    }

 

4.查看控制器中构造函数。构造函数中也可以指定中间件

class UserController extends Controller
{
    /**
     * 实例化一个新的控制器实例
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');

        $this->middleware('log')->only('index');

        $this->middleware('subscribed')->except('store');
    }
}

 

标签:function,Http,middleware,中间件,确定,class,路由
来源: https://www.cnblogs.com/gaoBlog/p/16476831.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有