约 2 分钟阅读
中间件 (Middleware)
中间件提供了一种方便的机制来检查和过滤进入应用程序的 HTTP 请求。例如 Laravel 自带了验证用户身份的认证中间件。
创建自定义中间件
php artisan make:middleware EnsureTokenIsValid
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class EnsureTokenIsValid
{
public function handle(Request $request, Closure $next): Response
{
if ($request->input('api_token') !== 'secret-token') {
return response()->json(['message' => '未经授权的访问'], 401);
}
return $next($request);
}
}
注册与使用中间件
在 Laravel 11/12 中,中间件可直接在 bootstrap/app.php 中优雅注册:
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__.'/../routes/web.php',
commands: __DIR__.'/../routes/console.php',
)
->withMiddleware(function (Middleware $middleware) {
// 注册中间件别名
$middleware->alias([
'check.token' => \App\Http\Middleware\EnsureTokenIsValid::class,
]);
})->create();