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

Аутентификация Apache LDAP: могу ли я привязать пользователя без предварительного поиска DN?

При выполнении AuthType Basic При аутентификации на сервере LDAP Apache сначала выполняет привязку для поиска DN пользователя, а затем выполняет привязку к этому DN для проверки пароля пользователя. Проблема в том, что с AD вы обычно не можете выполнить анонимное связывание. Итак, вам нужно установить AuthLDAPBindDN.

Но, говорю, я уже знаю DN! Мне не нужно связывать поиск-привязку, я могу просто привязать как cn=_username_,OU=Employees,DC=megacorp,DC=com!

Это кажется невозможным, но я подумал, что спрошу: могу ли я убедить Apache пропустить bind-and-search-for-DN-to-use-for-bind, просто создав DN на лету, или Мне нужно поговорить с местной бюрократией о специальной учетной записи, с которой я могу привязаться для поиска пользователя, которого я хочу аутентифицировать?

Спасибо!

-дэнни

Фактически, параметры в Apache 2.3 выглядят как AuthLDAPInitialBindAsUser и AuthLDAPInitialBindPattern.

AuthLDAPCompareAsUser и AuthLDAPSearchAsUser в некоторой степени связаны, но похоже, что они действуют только после начальная привязка произошла.

Я на самом деле не пробовал (так как у меня нигде не установлен apache 2.3, по крайней мере, пока), но я думаю, что вам нужна конфигурация примерно так:

AuthLDAPInitialBindAsUser  on
AuthLDAPInitialBindPattern (.+) cn=$1,OU=Employees,DC=megacorp,DC=com

Apache 2.3.6 и выше поддерживает AuthLDAPCompareAsUser, который вы, вероятно, ищете.

http://httpd.apache.org/docs/2.3/mod/mod_authnz_ldap.html#authldapcompareasuser

Эта ветка является бета-версией и может быть труднодоступна для вашей ОС.

К сожалению, похоже, что mod_auth_ldap настаивает на построении и выполнении поиска вместо того, чтобы просто пытаться выполнить привязку с указанным вами DN. По моему опыту, это большинство; большинство приложений, которые обращаются к активному каталогу через ldap (в отличие от, скажем, использования собственных пользовательских API NT), предпочитают поиск, а затем привязку, а не просто попытку привязки.

С другой стороны (если это можно так назвать), учетная запись пользователя без каких-либо прав должна удовлетворять ваши потребности, если в вашем дереве ldap не происходит ничего беспокойного с точки зрения разрешений; членства в Authenticated Users должно быть достаточно, чтобы выполнять все, что нужно вашему поисковому пользователю. Его даже можно исключить из числа пользователей домена и назначить другую основную группу; это должно немного смягчить местную бюрократию.