Drupal 7 и Active Directory

Главные вкладки

Аватар пользователя Kazeuweb Kazeuweb 10 ноября 2011 в 11:46

Здравствуйте, прогуглила всеь drupal.ru но нужного контента к сожалению не нашла.
В Друпале я новичек, поэтому очень нуждаюсь в помощи экспертов.
Передо мной стоит задача:
Интегрировать LDAP в Drupal. Получается нужно, чтобы Drupal брал учетные записи пользователей с Active Directory и потом авторизация на сайте происходила автоматически, сразу после того как пользователь ввел свой логин и пароль на компьютере. Помогите пожалуйста, может есть мануал или опыт, как это осуществить на Drupal 7.
Спасибо

Комментарии

Аватар пользователя kalabro kalabro 10 ноября 2011 в 17:46

"Kazeuweb" wrote:
потом авторизация на сайте происходила автоматически, сразу после того как пользователь ввел свой логин и пароль на компьютере.

поинтересовалась у коллег — так сделать нельзя, всё равно логин/пароль вводить надо
не правильно поняла сначала. вы наверное имели ввиду, что регистрироваться этому пользователю не надо.

Аватар пользователя Kazeuweb Kazeuweb 11 ноября 2011 в 21:43

kalabro wrote:
"Kazeuweb" wrote:
потом авторизация на сайте происходила автоматически, сразу после того как пользователь ввел свой логин и пароль на компьютере.

поинтересовалась у коллег — так сделать нельзя, всё равно логин/пароль вводить надо
не правильно поняла сначала. вы наверное имели ввиду, что регистрироваться этому пользователю не надо.

Имелось в виду, чтобы Друпал цеплял с Active directory авторизацию. То есть, человек компьютер включил, логин пароль Active directory ввел и все, открыл браузер, и сайт автоматически произвел авторизацию и вывел профиль пользователя.
Но здесь встает другой нюанс, оказывается не все браузеры умеют цеплять юзеров с Active Directory. Только IE. А вот Firefox, Chrome, Safari увы, по моему такого не могут.

Аватар пользователя Kazeuweb Kazeuweb 11 ноября 2011 в 22:33

Спасибо за наводку на http://drupal.org/project/ldap. Задача частично решена. Интеграция с Active Directory есть, пользователи авторизуются. Единственно, встала проблема по поводу шифрования. Сервер Active Directory с настроенной отлично безопасностью не хотел принимать drupal. И интеграция пошла как только в Active Directory была выключена безопасность, а если выключена безопасность это не хорошо. Как решить такую задачу, чтобы Друпал интегрировался без ущерба Active Directory пока не ясно. Видимо придется ждать стабильной версии модуля LDAP.
Кому интересно вкратце, как настраивалась интеграция Drupal и Active Directory:
1. Необходим правильно настроенный сервер
2. Скачиваем ldap, этот модуль еще требует присутствия Ctools и Strongarm
3. После включения модулей, на локальной машине могут быть ошибки, (в частности мне выдал проблему с php) Нужно раскомментить extension=php_ldap.dll в php.ini
4. Переходим в настройки Ldap и в указываем все также
5. Самое важное правильно настроить настройки сервера. Все настраивается также как и здесь Единственно что:
A. DN for non-anonymous search - уникальное имя пользователя (distingusheadName) берется в свойствах пользователя Active Directory
B. Ldap user to drupal User relationship в данном окне нужно указать уникальное имя группы (Organization Unite), которое берется свойствах группы Active Directory
6. Аутентификация все также как и здесь
7. Настройки авторизации в первом поле выбираем нашу уникальную машину, и жмем ок. Можно поиграться с ролями. Кого впускать, кого нет, это уже на любителя. Как настраивать смотрим здесь
Возвращаемся в пункт 5, в настройки Servers и жмем test, если все правильно настроено, то Друпал сообщит нам об успешной интеграции))

Аватар пользователя andreystrelkov andreystrelkov 4 июня 2012 в 17:24

Привет, подскажи пожалуйста, или дай наводку, как связать роли друпала с ролями/группами в AD, не могу сообразить где это и как, и ещё как связать поля информации о пользователе в AD с полями в Drupal-е
Спасибо

Аватар пользователя Kazeuweb Kazeuweb 3 июля 2012 в 18:40

andreystrelkov wrote:
Привет, подскажи пожалуйста, или дай наводку, как связать роли друпала с ролями/группами в AD, не могу сообразить где это и как, и ещё как связать поля информации о пользователе в AD с полями в Drupal-е
Спасибо

По ролям тебе сюда http://drupal.org/files/ldap_authorization_drupal_roles.png

Вот по полям сама не разобралась, у меня не получилось цеплять другие поля кроме логина и пароля с ЛДАП, найдешь решение, поделись пожалуйста)

Аватар пользователя Sanchez467 Sanchez467 10 августа 2012 в 17:21

Привет !
Установил модуль http://drupal.org/project/ldap, и все дополнительные для работы, но нет в админ панели Configuration LDAP как здесь http://drupal.org/files/ldap_settings.png, где ее скачать или как правильно она называется ??? Здесь я не нашел его http://drupal.org/search/apachesolr_multisitesearch/LDAP?filters=ss_meta...
сейчас установлены модули
LDAP Authorization — Drupal Roles
LDAP Authorization
LDAP Help
LDAP Profile
LDAP Query
LDAP Servers
LDAP Authorization
LDAP Query
LDAP Feeds
LDAP Help
LDAP SSO
LDAP Views

Аватар пользователя dosperados dosperados 13 августа 2012 в 13:37

Sanchez467 wrote:
Привет !
Установил модуль http://drupal.org/project/ldap, и все дополнительные для работы, но нет в админ панели Configuration LDAP как здесь http://drupal.org/files/ldap_settings.png, где ее скачать или как правильно она называется ??? Здесь я не нашел его http://drupal.org/search/apachesolr_multisitesearch/LDAP?filters=ss_meta...
сейчас установлены модули
LDAP Authorization — Drupal Roles
LDAP Authorization
LDAP Help
LDAP Profile
LDAP Query
LDAP Servers
LDAP Authorization
LDAP Query
LDAP Feeds
LDAP Help
LDAP SSO
LDAP Views

У тебя включен модуль "Administration menu Toolbar style" если да, то отключи его и тогда в конфигурации будет видны настройки..

Аватар пользователя kalabro kalabro 11 ноября 2011 в 21:57

Очень интересная информация, спасибо.

"Kazeuweb" wrote:
Но здесь встает другой нюанс, оказывается не все браузеры умеют цеплять юзеров с Active Directory. Только IE.

Я думала, это вообще невозможно, несекурно и всё такое. Как вообще называется такое автоматическое подцепление, чтобы его погуглить? :)
У вас, получается, сервер LDAP один и тот же и для аутентификации пользователей в windows, и для интеграции с друпалом?

Аватар пользователя Kazeuweb Kazeuweb 11 ноября 2011 в 22:25

kalabro wrote:
Очень интересная информация, спасибо.
"Kazeuweb" wrote:
Но здесь встает другой нюанс, оказывается не все браузеры умеют цеплять юзеров с Active Directory. Только IE.

Я думала, это вообще невозможно, несекурно и всё такое. Как вообще называется такое автоматическое подцепление, чтобы его погуглить? :)
У вас, получается, сервер LDAP один и тот же и для аутентификации пользователей в windows, и для интеграции с друпалом?

Да, сервер один. Называется чудо опция )) Single sig-on в модуле Ldap есть, но работает не стабильно.

Аватар пользователя cssergey cssergey 10 июля 2012 в 23:23

"Kazeuweb" wrote:

andreystrelkov написал(а):
Привет, подскажи пожалуйста, или дай наводку, как связать роли друпала с ролями/группами в AD, не могу сообразить где это и как, и ещё как связать поля информации о пользователе в AD с полями в Drupal-е
Спасибо
По ролям тебе сюда http://drupal.org/files/ldap_authorization_drupal_roles.png
Вот по полям сама не разобралась, у меня не получилось цеплять другие поля кроме логина и пароля с ЛДАП, найдешь решение, поделись пожалуйста)

Здравствуйте
Как вы думаете можно с помощью этого модуля решить такую проблему:

"Добрый день.
Есть домен и в локалке сделан форум на друпале.
Как можно сделать так, чтобы при появление новых сообщений на форуме поступало уведомление на почтовый ящик пользователей. Почта на MS Exchange.
Спасибо."

Аватар пользователя Sanchez467 Sanchez467 13 августа 2012 в 12:12

andreystrelkov wrote:
в понедельник на работе будут, гляну как у меня

Где же ты ответь пожалуйста !!! Очень надо. За ранее спасибо Smile

Аватар пользователя andreystrelkov andreystrelkov 13 августа 2012 в 13:34

у меня включены только первые 3 модуля из LDAP,и в конфигурация есть ссылка на него, вторая слева сверху
...сайт/admin/config/people/ldap

Аватар пользователя dosperados dosperados 13 августа 2012 в 13:49

А я настроил все по документации, а мне выдает вот такую ошибку

Result Messages
Binding with DN for non-anonymous search (CN=drupaluser,OU=IT,OU=пользователи АД,DC=domen,DC=kem). Using password entered in form.
Binding with DN for non-anonymous search (CN=drupaluser,OU=IT,OU=пользователи АД,DC=domen,DC=kem). Using password entered in form.
Failed to connect to LDAP server. See watchdog error logs for details.

Аватар пользователя Sanchez467 Sanchez467 13 августа 2012 в 15:01

Warning: ldap_start_tls() [function.ldap-start-tls]: Unable to start TLS: Connect error в функции LdapServer->connect() (строка 227 в файле Y:\home\sz1sz.ru\WWW\modules\ldap-7.x-1.0-beta11\ldap\ldap_servers\LdapServer.class.php).
Result Messages

Binding with DN for non-anonymous search (cn=ldap-publik,ou=ficticious,dc=ad,dc=gorodavto,dc=lan). Using password stored in configuration
Binding with DN for non-anonymous search (cn=ldap-publik,ou=ficticious,dc=ad,dc=gorodavto,dc=lan). Using password stored in configuration
Failed to connect to LDAP server. See watchdog error logs for details.

Слабо разбираюсь.... ребят ну подскажите, это ошибки при тесте LDAP сервера, что поправить ???

Аватар пользователя Sanchez467 Sanchez467 15 августа 2012 в 18:12

Вроде разобрался, LDAP Server работает и настроен.... и что дальше ??? Как мне авторизироватся на сайте используя доменное имя и пароль ??? ЛЮДИ HELP !!!)))

Аватар пользователя bigmuzzy bigmuzzy 17 августа 2012 в 23:11

yoursite.ru/user/login/sso не работает? Я сам буду то же самое пробовать на следующей неделе, пока только доки читаю.

Аватар пользователя great.earl great.earl 20 сентября 2012 в 12:31

Знатоки вопрос - можно ли использовать токены которые возвращает LDAP типа [cn] также как и друпаловские токены [current-user:name]?
К токенам лдап как-то по особому надо обращаться? ))

Аватар пользователя andreystrelkov andreystrelkov 23 сентября 2012 в 23:30

сам не пробовал, но наверно как вариант просто привязать LDAP значение к полям пользователя, а потом уже выводить как токен поля пользователя
т.е. сделать поля у пользователя CN, и сделать связку

Аватар пользователя codet codet 9 января 2013 в 15:41

Помогите не могу настроить LDAP делаю как написано но нет никакого результата.
AD Реализована на базе windows server 2008.
Можно подробней описать настройку модуля.

Аватар пользователя egoryich egoryich 14 января 2013 в 16:29

codet wrote:
Помогите не могу настроить LDAP делаю как написано но нет никакого результата.
AD Реализована на базе windows server 2008.
Можно подробней описать настройку модуля.

Попробуй настроить на версии 7.x-1.0-beta12, у меня работает корректно.
Что самое интересное пробовал 7.x-2.0-beta3(рекомендуемую), не проходит проверка конфигурации сервера.

Аватар пользователя borovinskiy borovinskiy 18 апреля 2013 в 9:26

Запустил таки модуль ldap-2.x на AD win2008. StartTLS включать не стал, так как на сервере не установлен нужный сертификат. Из вещей, которые недостаточно подробно описаны в документации и решились снифенгом ldap-трафика:

Во вкладке Server в Binding Method надо поставить Service Account Bind
DN для не-анонимного поиска надо указать имя пользователя вместе с доменом, например proxy@domain.example.com

В маппинге групп LDAP в роли drupal тоже возникла заковыка. Если хочется чтобы маппились только перечисленные роли (отмечена опция Only grant drupal roles that match a filter above), то для AD их надо указывать с учетом регистра:
Так cn=drupal,ou=groups,dc=domain,dc=example,dc=ru - неправильно
Так CN=drupal,OU=Groups,DC=domain,DC=example,DC=ru - правильно.

В admin/config/people/ldap/servers надо обязательно указать Attribute in User Entry Containing Groups как memberOf.

Аватар пользователя iluminat777 iluminat777 19 февраля 2013 в 18:46

Подскажите в чем может проблема, не могу подключить роли к группам,ЛДАП работает пользователи заходят все нормально,но не распределяются по группам, у меня вот такой адрес к группам "OU=*****,OU=groups,DC=***,DC=***,DC=ua" в Base DNs подключены пользователи и группы,в ЛДАП группы созданы как и роли, но почему то не работают, не каких запросов роли к группам не осуществляются, уже просто за долбался с этим. Вот как я описываю подключение роли к группе.
CN=administrator,OU=*****,OU=groups,DC=***,DC=***,DC=ua|administrator

Аватар пользователя andreystrelkov andreystrelkov 20 февраля 2013 в 22:52

Завтра гляну у себя как сделано,
я недавно для другого сайта стал ставить LDAP, а оказывается вышла новая версия 2.x
ну я на радостях, если новая значит лучше, надёжней,
установил, стал настраиваться, чуть чуть интерфейс сменился, но вот беда!

все стандартные настройки сделал, а 2 поля DN for anonymous search, где обычно просто ldap вводят - не горят!!! не активны, и не могу туда ничего ввести
жму сохранить - а он, заполни эти поля!, но как? :/

Аватар пользователя iluminat777 iluminat777 22 февраля 2013 в 15:37

Что не кто не сталкивался с проблемой подключением ЛДАП групп к ролям друпала у меня стоит
7.x-2.0-beta3 этот на сайте
7.x-1.0-beta12 а этот на локальном
поставил локальный и пробую подключиться потому что возникли проблемы на сайте все что смог это подключить пользователей что на сайте что на локальном, что бы пользователи могли заходить через ЛДАП а группы не подтягиваются к ролям. уже наверно недели 2 мучаю сайт и локальный сервер и нечего.

Аватар пользователя a.s. a.s. 6 марта 2013 в 11:03

Здравствуйте, спасибо за инструкцию, благодаря ей все поставилось и работает с одним небольшим но:

отчет о состоянии пишет:
User Fields for LDAP User Module Missing
Fields are added to the Drupal User entity for LDAP User module functionality. These fields should have been created in LDAP User update 7203. The following userfields are missing:
ldap_user_puid_sid
ldap_user_puid_sid instance
ldap_user_puid
ldap_user_puid instance
ldap_user_puid_property
ldap_user_puid_property instance
ldap_user_current_dn
ldap_user_current_dn instance
ldap_user_prov_entries
ldap_user_prov_entries instance
ldap_user_last_checked
ldap_user_last_checked instance
Rerun update 7203 to correct this; it will not write over destroy existing fields.

и ошибки вида:
EntityFieldQueryException: Неизвестное поле: ldap_user_current_dn в функции EntityFieldQuery->addFieldCondition() (строка 770 в файле /data/www/dru/includes/entity.inc).
возникают при первом посещении сайта.

как это исправить?

Drupal 7.20
ldap 7.x-2.0-beta3

Аватар пользователя great.earl great.earl 26 октября 2013 в 8:24

Вопрос - никто импорт данных пользователей из АД в Друпал не делал?
Суть в чем - модуль лдап и лдап_фидс все хорошо работает, но этот ldap_query не все поля пользовательского профиля из АД достает.
Я примерно понимаю почему 0 скорее всего поиск идет одноуровневый по АД (там некоторые данные в подмассивах лежат), а где модуль лдап делает запрос к АД никак не найду.