Laravel 中间件

17 Mar 2025 | 4 分钟阅读

中间件充当用户和请求之间的层。这意味着当用户向服务器发出请求时,请求将通过中间件,然后中间件验证请求是否已通过身份验证。如果用户的请求已通过身份验证,则该请求将发送到后端。如果用户请求未通过身份验证,则中间件会将用户重定向到登录屏幕。

除了身份验证之外,还可以使用额外的中间件来执行各种任务。例如,CORS 中间件负责将标头添加到所有响应中。

Laravel 框架包含几个中间件,例如身份验证和 CSRF 保护,所有这些都位于 app/Http/Middleware 目录中。

我们可以说中间件是一个 http 请求过滤器,您可以在其中检查条件。

在中间件中,我们将讨论以下主题

  • 制作一个中间件
  • 应用中间件
  • 在中间件中检查条件
  • 路由中间件

创建一个中间件

输入命令 php artisan make:middleware '中间件的名称'

Laravel Middleware

在上图中,我们输入命令 "php artisan make:middleware CheckAge",其中 CheckAge 是中间件的名称。 上面的窗口显示中间件已成功创建,名称为 "CheckAge"。

要查看 CheckAge 中间件是否已创建,请转到您的项目。 我们的项目名称是 laravelproject,因此中间件的路径将是:C:\xampp\htdocs\laravelproject\app\Http\Middleware

Laravel Middleware

应用一个中间件

中间件可以应用于所有 URL 或某些特定 URL。

让我们将中间件应用于所有 URL。

步骤 1: 打开 kernel.php 文件。 如果要将中间件应用于所有 URL,请在中间件数组中添加中间件的路径。

步骤 2: 在 Git Bash 窗口中输入命令 php artisan serve

Laravel Middleware

步骤 3: 打开您创建为中间件的 CheckAge.php 文件。

步骤 4: 现在,输入 URL 'https:///laravelproject/public/'。

Laravel Middleware

让我们将中间件应用于某些特定路由。

步骤 1: 打开 kernel.php 文件。 如果要将中间件应用于某些特定路由

在上面的代码中,我们添加了代码,即 ''age' => \App\Http\Middleware\CheckAge::class',其中 age 是中间件的名称。 现在,我们可以将 'age' 中间件用于某些特定路由。

步骤 2: 打开您创建为中间件的 CheckAge.php 文件。

步骤 3:web.php 文件中添加中间件代码。

在上面的代码中,我们在根 URL '/' 中添加了中间件,并且我们没有在 'user/profile' URL 中添加中间件。

输出

当我们访问根 URL 时,输出将是

Laravel Middleware

上面的输出显示中间件代码也被访问,因为它显示了 "hello world"。

当我们访问 URL,即 /user/profile 时,输出将是

Laravel Middleware

上面的输出显示中间件代码未被访问。

当参数在 URL 中传递时。

web.php

CheckAge.php

输出

Laravel Middleware

在中间件中检查条件

中间件也可以用于检查条件。 让我们通过一个例子来理解。


输出

Laravel Middleware
Laravel Middleware
下一个主题路由组