Разница между мод аутентификации LDAP и LDAP с модом authnz
Мы используем LDAP для доступа к Subversion с помощью Apache httpd. Изначально все наши репозитории Subversion были доступны всем пользователям с помощью следующих функций:
<Location /src>
DAV svn
SVNParentPath /opt/svn_repos
AuthType basic
AuthName "SVN Repository"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL "ldap://ldap.mycorp.com:3268/dc=mycorp,dc=com?sAMAccountName" NONE
AuthLDAPBindDN "CN=svn_acct,OU=Users,DC=mycorp,DC=com"
AuthLDAPBindPassword "swordfish"
Require valid-user
</Location>
Все было прекрасно. Меня попросили переместить хранилище CM в другое место и сделать его доступным только для людей из группы CM. Я сделал следующее:
<Location /cm>
DAV svn
SVNPath /opt/cm_svn_repos
AuthType basic
AuthName "CM Repository"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL "ldap://ldap.mycorp.com:3268/dc=mycorp,dc=com?sAMAccountName" NONE
AuthLDAPBindDN "CN=svn_acct,OU=Users,DC=mycorp,DC=com"
AuthLDAPBindPassword "swordfish"
Require group CN=cm-group,OU=Groups,DC=mycorp,DC=com
</Location>
Я потратил на это пару часов, прежде чем понял, что использую mod_authnz_ldap, а не просто старый mod_auth_ldap. Таким образом, мне нужно было ldap-group
вместо group
в моем Require
заявлении. Это сработало.
Итак, в чем разница между mod_auth_ldap и mod_auth nz _ldap, и почему вы используете один над другим?
1 ответ:
Любой другой, кто сталкивался с этим вопросом. Это связано с более новыми версиями Apache httpd. Мое замешательство было вызвано изменениями между версиями 2.1 и 2.2 httpd. Поскольку у меня был Apache 2.2, я должен был использовать новый фреймворк:
mod_auth_ldap
для версий Apache до 2.2mod_authnz_ldap
предназначен для Apache версий 2.2 и выше.
Из руководства Apache 2.2
Модуль Усовершенствования
Authn / Autz
Модули в каталоге aaa были переименованы и предлагают лучшую поддержку для дайджест-аутентификации. Например,mod_auth
теперь разделяется наmod_auth_basic
иmod_authn_file
;mod_auth_dbm
теперь называетсяmod_authn_dbm
;mod_access
был переименован вmod_authz_host
. Существует также новый модульmod_authn_alias
(уже удаленный из 2.3 / 2.4) для упрощения некоторых конфигураций аутентификации.Mod_authnz_ldap
Этот модуль является портом 2.0 mod_auth_ldap модуль для платформы 2.2 Authn/Authz. Новые возможности включают использование значений атрибутов LDAP и сложных фильтров поиска в директиве Require.
Изменения Разработчика Модуля
Authn / Autz
Объединенные модули аутентификации и авторизации были переименованы следующим образом:
mod_auth_*
-> модули, реализующие механизм аутентификации HTTPmod_authn_*
-> модули, обеспечивающие внутреннюю аутентификацию поставщикmod_authz_*
-> модули, реализующие авторизацию (или доступ)mod_authnz_*
-> модуль, реализующий аутентификацию и авторизацию