Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

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

Проблемы с установкой или работой phpBB 3.2.x? Получите помощь здесь!
Внимание: с 7 ноября 2020 года phpBB Group завершено дальнейшее развитие phpBB версии 3.2, а с 1 августа 2024 года будет прекращена её поддержка.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.

Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Maanse
phpBB 1.0.0
Сообщения: 5
Стаж: 6 лет 3 месяца

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

Сообщение Maanse »

Доброго времени суток.
Возникла необходимость сделать в организации форум, и одним из важных моментов которые нужно обеспечить - возможность входа посредством доменной учетки.
Соответственно решено было настроить 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
Подскажите куда копать?

Заранее спасибо!
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2208
Стаж: 16 лет 3 месяца
Откуда: Павлодар
Благодарил (а): 7 раз
Поблагодарили: 338 раз
Контактная информация:

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

Сообщение nissin »

Попробуйте добавить отладочную печать в файле phpbb/auth/provider/ldap.php
После

Код: Выделить всё

		$result = @ldap_get_entries($ldap, $search);
Ну и увидите, что попадает в phpBB из LDAP.

Там дальше в коде проверяется значение:

Код: Выделить всё

$result[0][htmlspecialchars_decode($this->config['ldap_email'])]
Всё повторяется. nurlan.info
Maanse
phpBB 1.0.0
Сообщения: 5
Стаж: 6 лет 3 месяца

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

Сообщение Maanse »

Пришлось отложить это занятие на долгое время. Сейчас переделал сервер с нуля и видимо какие-то настройки сыграли роль. Атрибут mail теперь нормально принимается при настройке аутентификации ldap. Так что тема не актуальна, спасибо!
Ответить

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