Настройка Apache и Subversion для использования групповой аутентификации LDAP (Windows Active Directory)
Я пытаюсь настроить Apache httpd с доступом LDAP для Subversion, и мне нужно немного помочь:
Что я хочу сделать, это использовать группу для доступа. Если вы являетесь участником группы, у вас есть права на чтение / запись. Если нет, у вас нет доступа.
Групповая запись на нашем сервере LDAP (ldap: //ldap.MyCompany.com/DC=MyCompany,DC=COM)
CN=SVN-GROUP,CN=Users,DC=MyCompany,DC=com
и члены группы находятся в этой записи следующим образом:
member: CN=David Weintraub,OU=Users,OU=Brooklyn,OU=Accounts,DC=MyCompany,DC=COM
member: CN=Joe Public,OU=Users,OU=Cincinnati,OU=Accounts,DC=MyCompany,DC=COM
Если вы посмотрите мою запись в LDAP, вы увидите:
memberOf: CN=SVN-GROUP,CN=Users,DC=MyCompany,DC=com
Name: David Weintraub
Distinguished Name: CN=David Weintraub,OU=Users,OU=Brooklyn,OU=Accounts,DC=MyCompany,DC=COM
sAMAccountName: dweintraub
Что я хотел бы сделать, это войти как dweintraub
(это моя учетная запись Windows) с моим паролем Windows. Я также не хочу указывать домен Windows как часть моего логина. Каждый будет частью mycompany
домен.
Я пытаюсь пройти через веб-сайт Apache httpd, но все сложнее собрать.
Что напоминает мне, кто-нибудь может порекомендовать хорошую книгу Apache?
1 ответ
Если вы используете Apache 2.2, это на самом деле довольно просто. Убедитесь, что вы сконфигурировали Apache, чтобы были включены и mod_ldap, и mod_authnz_ldap.
Вот минимум, необходимый для аутентификации и авторизации AD ldap:
<Location /path/to/repo/>
AuthType basic
AuthName "My Repository"
AuthBasicProvider ldap
AuthLDAPURL "ldap://ldap.example.com:3268/dc=example,dc=com?sAMAccountName" NONE
AuthLDAPBindDN "DN of service account allowed to search"
AuthLDAPBindPassword "Password of service account allowed to search"
Require ldap-group DN of group allowed access to repo
</Location>
Для группы ldap не заключайте DN в кавычки. Указав порт 3268, вы будете подключаться к глобальному каталогу. Я обнаружил, что это работает намного лучше, потому что Apache не получит кучу рефералов.