exim+AD аунтентификация по полю mail
Добавлено: 2009-01-12 1:18:02
ситуация exim+ad, задача опознавать пользователей по полю майл в AD, загвоздка собственно в кондишене ни как не получаться, есть мысль что возможно дело в кириллице в cn или название группы OU. Подробнее...
При таком раскладе, все пучком только это не то что мне надо
Eximу уже подсовывается dn пользователя, а как я понимаю для выполнения задачи необходимо, сначала найти нужный dn, а потом уже пробовать авторизоваться т.е. как-то так
результат такой
при неправильно имени и пароле отсылает письма
при правильном имени и пароле грит
Думаю как-то надо "заэкранировать" cn пользователя, или авторизовывать в духе ад
имя_пользователя@домен только как в этом случае быть с полем "mail", мыслей нет
помогите, плиз.
Код: Выделить всё
dn:: Q0490KHQtdGA0LPQtdC5INCg0L7QvNCw0L3QvtCyLE9VPdCf0L7Qu9GM0LfQvtCy0LDRgtC10
LvQuCxEQz1hbnBpbG92c20sREM9bG9jYWw=
objectClass: top
objectClass: person
.....
mail: s.romanov@domain.ru
Код: Выделить всё
begin authenticators
auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${if ldapauth {user="${quote_ldap_dn:$auth2}@domain.local" pass=${quote_ldap:$auth3} ldap://domain.local:3268/}{yes}{no}}
server_prompts = :
server_set_id = $auth2
Код: Выделить всё
server_condition = ${if ldapauth {user=${lookup ldapdn {LDAP_AUTH ldap://domain.local:3268/dc=domain,dc=local?dn?sub?(mail=${quote_ldap_dn:$2}${quote_ldap:@}${quote_ldap:domain.ru})}} pass=$3 connect=5 ldap://domain.local:3268/}{yes}{no}}
при неправильно имени и пароле отсылает письма
при правильном имени и пароле грит
Код: Выделить всё
type=ldapdn key="user="CN=squid,CN=Users,DC=domain,DC=local" pass="pass" ldap://domain.local:3268/dc=domain,dc=local?dn?sub?(mail=s.romanov%40domain.ru)"
02:03:46 63772 cached data used for lookup of user="CN=squid,CN=Users,DC=domain,DC=local" pass="pass" ldap://domain.local:3268/dc=domain,dc=local?dn?sub?(mail=s.romanov%40domain.ru)
02:03:46 63772 lookup yielded: CN=п?п?я?пЁп?п? п?п?п?п?п?п?п?,OU=п?п?п?я?п?п?п?п?я?п?п?п?,DC=domain,DC=local
02:03:46 63772 expanding: user=${lookup ldapdn {user="CN=squid,CN=Users,DC=domain,DC=local" pass="pass" ldap://domain.local:3268/dc=domain,dc=local?dn?sub?(mail=${quote_ldap_dn:$2}${quote_ldap:@}${quote_ldap:domain.ru})}} pass=$3 connect=5 ldap://domain.local:3268/
02:03:46 63772 result: user=CN=п?п?я?пЁп?п? п?п?п?п?п?п?п?,OU=п?п?п?я?п?п?п?п?я?п?п?п?,DC=domain,DC=local pass=gbplfcnfhfz connect=5 ldap://domain.local:3268/
02:03:46 63772 LDAP query error: unknown parameter "п?п?п?п?п?п?п?,OU=" precedes LDAP URL
02:03:46 63772 failed to expand: ${if ldapauth {user=${lookup ldapdn {user="CN=squid,CN=Users,DC=domain,DC=local" pass="pass" ldap://domain.local:3268/dc=domain,dc=local?dn?sub?(mail=${quote_ldap_dn:$2}${quote_ldap:@}${quote_ldap:domain.ru})}} pass=$3 connect=5 ldap://domain.local:3268/}{yes}{no}}
02:03:46 63772 error message: unknown parameter "п?п?п?п?п?п?п?,OU=" precedes LDAP URL
02:03:46 63772 expansion failed: unknown parameter "п?п?п?п?п?п?п?,OU=" precedes LDAP URL
02:03:46 63772 expanding: $auth2
02:03:46 63772 result: s.romanov
имя_пользователя@домен только как в этом случае быть с полем "mail", мыслей нет
помогите, плиз.