rogervila/lumen-rate-limiting

Laravel ThrottleRequests 中间件的 Lumen 版本

2.0.0 2024-06-03 09:54 UTC

This package is auto-updated.

Last update: 2024-09-03 10:32:25 UTC


README

Lumen Rate limiting

Total Downloads Latest Stable Version License

关于

此包包含 Laravel 的 ThrottleRequests 中间件 的 Lumen 版本。

根据您的 Lumen 项目版本检查包的版本兼容性

安装

  1. 在您的 Lumen 应用程序中需要此包
composer require rogervila/lumen-rate-limiting
  1. 确保在 bootstrap/app.php 中取消注释 AppServiceProviderAuthServiceProvider
$app->register(App\Providers\AppServiceProvider::class);
$app->register(App\Providers\AuthServiceProvider::class);
  1. AppServiceProviderboot 方法中配置速率限制器
/**
 * 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());
    });
}
  1. bootstrap/app.php 中注册中间件
$app->routeMiddleware([
    'throttle' => \LumenRateLimiting\ThrottleRequests::class,
]);
  1. bootstrap/app.php 中将中间件添加到全局路由组
$app->router->group([
    'namespace' => 'App\Http\Controllers',
    'middleware' => 'throttle:global',
], function ($router) {
    require __DIR__ . '/../routes/web.php';
});

中间件可以放在特定的路由上,而不是全局,具体请参阅 官方文档

许可证

本项目是开源软件,许可协议为 MIT 许可协议