LDAP аутентификация: ошибка аттрибута

Проблемы с установкой или работой phpBB 3.2.x? Получите помощь здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Ответить
Maanse
phpBB 1.0.0
Сообщения: 1
Зарегистрирован: 07.12.2017 23:12

LDAP аутентификация: ошибка аттрибута

Сообщение Maanse » 07.12.2017 23:47

Доброго времени суток.
Возникла необходимость сделать в организации форум, и одним из важных моментов которые нужно обеспечить - возможность входа посредством доменной учетки.
Соответственно решено было настроить phpbb 3.2.1 с аутентификацией ldap
После многочисленных трудностей и испытаний (из разряда "Не удалось соединиться с сервером LDAP" "Произошла ошибка при поиске в директории ldap" и т.д.) был почитан мануал по php ldap и написан вот такой тестовый скриптец (мало ли кто-то также мучается):
lsaptest.php 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?php
$ldapserv = 'domain.local';
$ldapuser = 'domain\forum_admin';
$ldappass = 'password';
$ldaptree = "ou=Users,dc=domain,dc=local";
$ldapfilter = "(|(cn=*))";
$ldapattr = array("sAMAccountName", "displayName", "mail");
$ldapconn = ldap_connect($ldapserv) or die("Can't connect LDAP Server $ldapserv.");

if ($ldapconn)
{
$ldapbind = ldap_bind($ldapconn, $ldapuser, $ldappass);
if ($ldapbind)
{
echo "LDAP-bind successfull...\n";
$ldapsearch=ldap_search($ldapconn, $ldaptree, $ldapfilter, $ldapattr);
$ldapinfo = ldap_get_entries($ldapconn, $ldapsearch);
echo $ldapinfo["count"]." entries found\n";
echo "<table border=1>";
for ($i = 0; $i <= $ldapinfo["count"]-1; $i++)
{
echo "<tr><td>".$ldapinfo[$i]['samaccountname'][0]."</td><td>".$ldapinfo[$i]['displayname'][0]."</td><td>".$ldapinfo[$i]['mail'][0]."</td></tr>";
}
echo "</table>";
}
else { echo "LDAP-bind failed...\n"; }
}
?>
После успешного прогона скрипта наконец-то вылезла таблица с логинами, отображаемыми именами и почтовыми ящиками пользователей. А также возникло ощущение того что я не совсем идиот.
Далее настройки из скрипта были забиты в форум, и... ошибка:
Указанный атрибут email не существует.
Это при том, что указан атрибут mail, и скрипт по этому атрибуту выдает нужную информацию.

Поиск по "Указанный атрибут email не существует." ничего не дал, кроме одной темки на англоязычном форуме phpbb, с аналогичной проблемой.
Там автор вышел из ситуации заменив атрибут mail на userPrincipalName. Попробовал, заработало, но мне такой вариант не подходит, потому что не у всех пользователей совпадает userPrincipalName и mail

В общем вопрос - это баг или я что-то делаю не так? Создается такое ощущение что phppp изменяет атрибут mail на еmail
Подскажите куда копать?

Заранее спасибо!

Ответить

Вернуться в «Поддержка phpBB 3.2.x»