Страница 1 из 1

dovecot не авторизует

Добавлено: 2007-11-03 22:37:12
lior
Здравствуйте! Проблема с dovecot. моск сломал уже... настраиваю авторизацию. Аккаунты в MySQL. Имя пользователя и домен находятся в разных столбцах. Т.к. доменов много, при авторизации в качестве в dovecot в качестве имени пользователя подсовывается строка вида имя@домен. В файле
dovecot-sql.conf есть две проверки-запроса: password query и user query. password query отрабатывает нормально (по логам). А вот вторая проверка никак. из-за того что (по логам) имя пользователя принудительно после проверки пароля из имя@домен преобразуется в вид имя пользователя (без домена). Поэтому второй запрос не отрабатывает. Почему так происходит и как это обойти? В конфиге dovecot все директивы связанные с преобразованием имен закомментированы. символ @ является допустимым символом в имени пользователя.
Может я что упустил?
Заранее спасибо.

Re: dovecot не авторизует

Добавлено: 2007-11-03 22:40:36
Alex Keda
а почему не собрать в одну колонку и не повесить на неё уникальный индекс?

Re: dovecot не авторизует

Добавлено: 2007-11-03 22:51:23
lior
lissyara писал(а):а почему не собрать в одну колонку и не повесить на неё уникальный индекс?
Потому что база уже создана :-) От нее и приходится плясать. Да и врядли это как то повлияет, хотя я могу и ошибаться...

Re: dovecot не авторизует

Добавлено: 2007-11-03 23:45:09
lior
Разобрался!!!!!!!!!!!!!!!!!!!!!

Всем спасибо.

Re: dovecot не авторизует

Добавлено: 2007-11-03 23:59:40
Alex Keda
ну так поделись.
что за привычка - уйти не сказав как решил проблему

Re: dovecot не авторизует

Добавлено: 2007-11-04 0:12:54
lior
Да... сорри...забыл совсем ) Там оказалось просто довольно. В файле dovecot-sql.conf где пишутся запросы password_query и user_query надо в запросе password_query в селекте писать не select id as user, passwd as password ... (id - это у меня в бд столбец с именем пользователя без домена, passwd - столбец с паролем), а select concat (id, '@' domain), passwd as password ...(domain - столбец с названиями доменов). Условия после WHERE в запросах аналогичны. Тогда можно использовать логин в виде имя@домен, когда имя и домен в разных столбцах и доменное имя из него перед запросом user_query никуда не денется. )