Назад | Перейти на главную страницу

Dovecot повторяющиеся имена пользователей

Это, наверное, странное желание, но у меня есть причины.

Моя dovecot auth обеспечивается данными, полученными из SQL, пока что нормально. Мои пароли в соответствующем формате {scheme}data, так что все в порядке. Проблема начинается, когда у меня есть два пользователя с одним и тем же именем пользователя. Когда я это сделаю, я получаю эту ошибку:

auth-worker(32489): Error: sql(__variables__): Password query returned multiple matches

Ну выдумка. Есть мысли о том, как я могу это обойти?

  1. Я рассматривал возможность использования переменной% w для фильтрации результатов sql, но поскольку пароли могут быть в разных схемах, я не могу провести прямой тест.
  2. Я подумал об использовании переменной% w и хранимой процедуры, чтобы найти правильный результат, но тогда мне пришлось бы выполнять все хеширование в sql, и это плохое время.
  3. Я могу сделать так, чтобы несколько разных логинов использовали один и тот же maildir, чтобы часть поиска работала одинаково, но создание большего количества имен пользователей - это то, что я не хочу делать.

Причины, о которых я говорил? У меня два варианта использования:

  1. Логины электронной почты смоделированы, чтобы больше походить на ключи API. Создайте имя пользователя, но имейте отдельный пароль для каждого клиента, подключающегося к нему. Если кто-то будет скомпрометирован, вы можете отозвать его, не меняя все логины.
  2. Различные механизмы аутентификации без открытого текста имеют разные промежуточные продукты. Вместо хранения обычного текста вы можете хранить промежуточные продукты. В качестве примера вы можете сохранить значение для схем CRAM-MD5, SHA256 и OTP.

Любой чистый способ заставить эту работу работать?