Прешло мне по наследству django приложение. При создании пользователя в джанге ему создается ящик почтовый. В качестве клиента для почты прикручен к django приложению roundcude. Сервер почты - dovecot.
Сейчас аутентификация пользователя в почте происходит следующим образом(мне самому пока не все понятно, поэтому пока так расскажу): RoundCube при попытке доступа к почте тырит из куков sessionid джанги, потом берет из базы джанги сереализованную в json и зашифрованную сессию, дешифрует её и получает оттуда user_id. Далее по этому id приложение вытягивает всю пользовательскую инфу, включая _ПАРОЛЬ В PLAIN TEXT_ и подсовывает этот пароль dovecot'у.
На стороне Dovecot'а написан лютый sql скрипт, который вытягивает из базы django захэшированный и посоленный пароль, вытягивает из него соль, хэширует и солит пароль, который ему подсовывают при аутентификации, сравнивает их и пускает/не пускает пользователя на сервер.
Чего хочется: хочу убрать из базы plain text пароли, для этого достаточно dovecot-sql скрипт переписать, чтобы он сразу посоленный и хэшированый пароль из базы с тем что ему подсунут. А со стороны roundcube подсовывать хэш пароля.
Но такой способ не позволит использоавть сторонние клиенты для доступа к почте.
Вот и хочется мне настроить разные способы аутентификации для пользователя у dovecot для разных доменов, которые к нему обращаются.
За другие предложения тоже буду дико благодарен, так как ни в зуб ногой в этом всем хозяйстве.