Я почти уверен, что настройки, которые я использую, верны, поэтому все возможные вещи могут быть неправильными, и я должен проверить это, чтобы я мог выполнить аутентификацию с нашей работой Active Directory.





Попробуйте проверить, может ли PHP подключиться к активному каталогу
<?php
$ds = ldap_connect('host.ad.lan', 389);
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
ldap_bind($ds, '[email protected]', 'xxx');
$sr = ldap_search($ds, 'CN=Cameron Zemek,OU=Users,OU=BRC,DC=ad,DC=lan', '(objectclass=*)', array('cn'));
$entryID = ldap_first_entry($ds, $sr);
$data = ldap_get_attributes($ds, $entryID);
print_r($data);
ldap_close($ds);
Что у вас есть с вашими $ config ['ldap_user'] и $ config ['ldap_uid']? Вы хотите установить для $ config ['ldap_uid'] значение sAMAccountName
@grom ... спасибо, но да, PHP работает нормально. У меня есть установка WordPress и MediaWiki на одном сервере, и они оба проходят аутентификацию в одном и том же активном каталоге.
Есть трюк для выполнения аутентификации activeDirectory с помощью phpbb3. Вам следует:
Кстати, какие сообщения об ошибках вы получаете от phpBB?
phpBB3 не предлагает много информации о том, как включить LDAPS, поэтому я надеюсь, что это кому-то поможет ...
Обратите внимание, что вам может потребоваться очистить все файлы cookie phpBB3 сразу после базовой установки. Это позволит пользователю с правами администратора видеть ACP. После того, как вы сможете постоянно входить в phpBB3 как администратор и хотите включить аутентификацию LDAPS, выполните следующие действия (проверено с помощью AD и Debian stretch):
Получите корневой сертификат TLS у администратора AD / LDAP или получите его самостоятельно, например:
# openssl s_client -showcerts -connect google.com:443
См. Документацию MediaWiki, поскольку документации phpBB3 довольно мало: https://www.mediawiki.org/wiki/Extension:LDAP_Authentication/Requirements
Установите сертификат в формате PEM с именем .crt в хранилище сертификатов ОС. Для систем на основе Debian это будет /usr/local/share/ca-certificates, затем запустите # dpkg-reconfigure ca-certificates
Настройте /etc/ldap/ldap.conf в соответствии с вашими локальными настройками. Обратите внимание, что порт 3268 может не иметь встроенных ограничений, таких как 686 с AD. YMMV.
Создайте специального пользователя AD для привязки. Дайте ему разрешение на поиск, но не на изменение атрибутов. Убедитесь, что учетные данные работают с ldapsearch. например: ldapsearch -x -LLL -h ad.mydomain.com -D binduser -W -z 30 -b "dc=mydomain,dc=com" searchString
Создайте пользователя phpBB3 с тем же именем, что и указанный выше пользователь привязки AD. Как администратор phpBB3, предоставьте пользователю AD bind права Founder.
Используя другой браузер, войдите в phpBB3 как binduser, затем настройте аутентификацию LDAP как этот пользователь. (Как отмечено в вышеупомянутом сообщении).
Проверь это! Выйдите из phpBB3, а затем войдите снова, используя учетные данные LDAP / AD.
Если это не сработает, документация разработчика PHP довольно хороша и предлагает множество комментариев с примерами и примером кода, который можно попробовать.