Удалены <remarks>, <summary> сжаты до короткой фразы, вырезаны ссылки на Task/Ruling/этап/python/прототип; //-комментарии со ссылками на процесс удалены; то же в .proto. Правила обновлены в docs/spec/Код-стайл-Дейл.md. Строк комментариев 27210 -> ~19100.
38 lines
1.1 KiB
C#
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;
|
|
}
|