Laravel: Unterschiedliche API-Grenzwerte für unterschiedliche Pfade


Sufi

Ich muss verschiedene Ratenlimits für verschiedene Pfade einrichten. Feind Beispiel:

Für Pfad / Benutzer möchte ich ein Ratenlimit von 60 Anfragen pro Minute haben, während ich für Pfad / Statistiken ein Ratenlimit von nur 5 Anfragen pro Minute haben möchte.

Ich habe es mit dem nächsten Ansatz versucht

Route::group(['middleware' => ['auth', 'throttle:60']], function(){
   Route::get('users', 'User@list');
});
Route::group(['middleware' => ['auth', 'throttle:5']], function(){
   Route::get('stats', 'User@stats');
});

Irgendwie wird das letzte Ratenlimit angewendet. Wenn Sie jedoch Anforderungen auf dem Benutzerpfad stellen, wird der X-Rate-Limit-Limit-Header auf 60 gesetzt, aber es wird der Fehler "Zu viele Anforderungen" ausgegeben, wenn die 6. Anforderung erreicht wird.

jeremykenedy

Möglicherweise möchten Sie versuchen, die Standardrate in Zeile 40 vonKernel.php auskommentieren, da Sie sie in jeder Middleware-Gruppe angeben, um Konflikte zu vermeiden.

Möglicherweise möchten Sie auch die Middleware so ändern, dass sie den zweiten Parameter für die Wartezeit bis zur nächsten Anforderung enthält. (Z. B. throttle:60,1)

Verwandte Artikel


Unterschiedliche API-Funktionen für unterschiedliche Rollen

Alexey Korsakov Ich habe API mit asp.net Core 2.1. Anspruchsbasierte Authentifizierung. Ist es möglich, diese beiden API-Funktionen in einer zu kombinieren? [Authorize(Roles = "Admin")] [HttpPost("delete")] public IActionResult Delete([FromBody]Item item) {

Laravel, unterschiedliche Preise für verschiedene Benutzer

menaka Ich habe bereits eine Laravel-Site erstellt, aber es ist erforderlich, den Artikelpreis je nach Benutzertyp zu ändern. also hier wie es gehen soll => if ($user->type = 'special') Ich muss das $item->special_priceeher $item->priceaus der Datenbank holen

Unterschiedliche Richtlinien für "Ressourcen" -Routen in Laravel

tsid145b Ich habe ein System, in dem der Administrator Ärzte verwalten kann und der Arzt die Fähigkeit hat, sich selbst zu verwalten. Dafür verwende ich die Laravel-Autorisierung mithilfe von Richtlinien. Ich habe eine Richtlinie für Administratoren registrier