The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Аутентификация в Apache из LDAP (apache auth ldap)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: apache, auth, ldap,  (найти похожие документы)
From: Roman Shramko <http://dormestmass.blogspot.com>; Date: Mon, 30 Dec 2007 14:31:37 +0000 (UTC) Subject: Аутентификация в Apache из LDAP Оригинал: http://dormestmass.blogspot.com/2006/10/apache-ldap.html Продолжая тему LDAP-аутентификации... Подключив squid к ActiveDirectory, захотелось использовать подобную аутентификацию в апаче. Сам apache (я использую Apache 2.0) должен быть собран с поддержкой LDAP. Для аутентификации служит модуль mod_auth_ldap. Немного теории из документации. Процесс предоставления доступа пользователю к ресурсу включает в себя две фазы. Первая фаза - аутентификация, при которой mod_auth_ldap проверяет пару имя_пользователя/пароль на правильность. Она называеться search/bind фаза. Вторая фаза - авторизация. Модуль проверяет, разрешен ли аутентифицированному пользователю доступ к запрошенному ресурсу. Эта фаза называеться compare. Фаза аутентификации. Во время этой фазы mod_auth_ldap ищет в каталоге запись, соответствующую имени пользователя, которое передал HTTP клиент. Если найдено уникальное единичное соответствие, модуль пытаеться прибиндиться к серверку каталога, используя DN вхождения и пароль, переданный HTTP клиентом. Если привязка не удалась, то доступ запрещается или отклоняется. Фаза авторизации. На этом этапе модуль пытается определить, авторизирован ли пользователь для доступа к запрашиваему ресурсу. Модуль принимает следующие директивы Require для определения доступа к ресурсу: * Разрешить доступ, если есть директива require valid-user; * Разрешить доступ, если есть директива require user и имя пользователя в директиве совпадает с именем пользователя, переданным клиентом; * Разрешить доступ, если есть директива require dn и DN, указанный в директиве, совпадает с DN, полученным из каталога; * Разрешить доступ, если есть директива require group и DN, полученный из каталога, входит в указанную LDAP группу; * Разрешить доступ, если есть директива require ldap-attribute и атрибут, полученный из каталога, совпадает с указанным атрибутом; * В иных случаях запретить доступ. Полная документация по модулю расположена здесь Итак, убеждаемся, что модуль у нас подключен, т.е. присутствует директивы LoadModule ldap_module _path_to_module_/mod_ldap.so LoadModule auth_ldap_module _path_to_module_/mod_auth_ldap.so в файле конфигурации апача. Создаём в защищаемом каталоге файл .htaccess. Предполагаю, что в настойках сервера разрешено переопределение директив, которые относяться к аутентификации/авторизации (Директива AllowOverride). Содержимое файла приблизительно следующее: # cat .htaccess AuthType Basic AuthName "Our protected resource" AuthLDAPURL ldap://ad.domain.com/dc=domain,dc=com?sAMAccountName AuthLDAPBindDN _valid_DN_to_bind_with_ AuthLDAPBindPassword _valid_password_ require user user1 user2 К сожалению директива require group применительно к ActiveDirectory не работает. Поиск решения этой проблемы результатов не дал. Однако ради интереса попробовал аутентифицировать с Netscape Directory Server - всё работает.

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1, frozer (??), 15:29, 09/12/2008 [ответить]  
  • +/
    в Active Directory работает по группам:
    AuthLDAPURL ldap://dc.dom.local:389/ou=Company1,dc=dom,dc=local?sAMAccountName
    AuthLDAPBindDN cn=auto,cn=Users,dc=dom,dc=local
    AuthLDAPBindPassword war
    require group cn=Nagios_Users,cn=Users,dc=dom,dc=local
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру