• quince-dotnet quince-dotnet
  • Информация о проекте
    • Информация о проекте
    • Активность
    • Метки
    • Участники
  • Репозиторий
    • Репозиторий
    • Файлы
    • Коммиты
    • Ветки
    • Теги
    • Участники
    • Диаграмма
    • Сравнение
  • mos.track
    • mos.track
    • Список
    • Доски
    • Спринты
  • Запросы на слияние 0
    • Запросы на слияние 0
  • CI/CD
    • CI/CD
    • Конвейеры
    • Задания
    • Расписания
  • Развертывания
    • Развертывания
    • Окружения
    • Релизы
  • Пакеты и реестры
    • Пакеты и реестры
    • Реестр пакетов
    • Реестр контейнеров
  • Мониторинг
    • Мониторинг
    • Инциденты
  • Аналитика
    • Аналитика
    • Поток ценности
    • CI/CD
    • Репозиторий
  • mos.wiki
    • mos.wiki
  • Сниппеты
    • Сниппеты
  • Активность
  • Диаграмма
  • Создать новую задачу
  • Задания
  • Коммиты
  • Доски с задачами
Свернуть панель
  • twelve
  • quince-dotnet
  • Запросы на слияние
  • !3

fix: убрать утечку логина при входе и лишний диск-I/O на ldap.yaml

  • Ревью изменений

  • Скачать
  • Почтовые патчи
  • Простое отличие
Слиты twelve запросил слияние code/review в main Июл 21, 2026
  • Обзор 1
  • Коммиты 1
  • Конвейеры 0
  • Изменения 3

Created by: ykmn

Code-review нашёл две MEDIUM-находки: сообщения об ошибке входа позволяли отличить "нет такого пользователя" от "неверный пароль" (плюс timing-side-channel через BCrypt), а AuthService.AuthRequired перечитывал и парсил ldap.yaml на каждый HTTP-запрос.

  • AuthService/LdapAuthenticator: единое сообщение "Неверный логин или пароль" для local- и LDAP-провала входа; PasswordHasher.DummyHash выравнивает время BCrypt-проверки для несуществующих пользователей; реальная причина сохраняется в AuthException.LogDetail для лога.
  • AuthService.GetLdapConfig: кэш LdapConfig с инвалидацией по mtime файла вместо чтения+парсинга YAML на каждый запрос.
Ответственный
Назначить
Проверяющие
Запросить ревью
Оценка трудозатрат
Исходная ветка: code/review