rogervila / lumen-rate-limiting
Laravel ThrottleRequests 中间件的 Lumen 版本
2.0.0
2024-06-03 09:54 UTC
Requires
- laravel/lumen-framework: ^11.0
Requires (Dev)
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2024-09-03 10:32:25 UTC
README
关于
此包包含 Laravel 的 ThrottleRequests 中间件 的 Lumen 版本。
根据您的 Lumen 项目版本检查包的版本兼容性
安装
- 在您的 Lumen 应用程序中需要此包
composer require rogervila/lumen-rate-limiting
- 确保在
bootstrap/app.php
中取消注释AppServiceProvider
和AuthServiceProvider
$app->register(App\Providers\AppServiceProvider::class); $app->register(App\Providers\AuthServiceProvider::class);
- 在
AppServiceProvider
的boot
方法中配置速率限制器
/** * Configure global rate limiter * * @return void */ public function boot() { app(\Illuminate\Cache\RateLimiter::class)->for('global', function () { return \Illuminate\Cache\RateLimiting\Limit::perMinute(60)->by(request()->ip()); }); }
- 在
bootstrap/app.php
中注册中间件
$app->routeMiddleware([ 'throttle' => \LumenRateLimiting\ThrottleRequests::class, ]);
- 在
bootstrap/app.php
中将中间件添加到全局路由组
$app->router->group([ 'namespace' => 'App\Http\Controllers', 'middleware' => 'throttle:global', ], function ($router) { require __DIR__ . '/../routes/web.php'; });
中间件可以放在特定的路由上,而不是全局,具体请参阅 官方文档。
许可证
本项目是开源软件,许可协议为 MIT 许可协议。