Files
Deal/src/core/Deal.Api/Configuration/RateLimitOptions.cs
T
Rustam Khalimov b053d58335 Почистить комментарии от упоминаний процесса
Удалены <remarks>, <summary> сжаты до короткой фразы, вырезаны
ссылки на Task/Ruling/этап/python/прототип; //-комментарии со ссылками
на процесс удалены; то же в .proto. Правила обновлены в
docs/spec/Код-стайл-Дейл.md. Строк комментариев 27210 -> ~19100.
2026-09-11 13:39:39 +03:00

38 lines
1.1 KiB
C#

namespace Deal.Api.Configuration;
/// <summary>
/// Настройки rate limiting и защиты входа
/// </summary>
public sealed class RateLimitOptions
{
/// <summary>
/// Включены ли rate limiting и LoginAttemptGuard.
/// </summary>
public bool Enabled { get; set; }
/// <summary>
/// Лимит политики "auth"
/// </summary>
public int AuthPerMinute { get; set; } = 10;
/// <summary>
/// Лимит политики "api"
/// </summary>
public int ApiPerMinute { get; set; } = 600;
/// <summary>
/// Лимит gRPC-ингресса
/// </summary>
public int GrpcIngressPerMinute { get; set; } = 600;
/// <summary>
/// Порог неудачных попыток входа ключа ip|login до блокировки
/// </summary>
public int LoginAttemptsMax { get; set; } = 5;
/// <summary>
/// Окно учёта неудачных попыток входа в минутах
/// </summary>
public int LoginAttemptWindowMin { get; set; } = 15;
}