我很确定我使用的设置是正确的,所以我应该检查所有可能的错误,以便我可以使用Active Directory工作进行身份验证。
答案 0 :(得分:1)
尝试测试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, 'admin@ad.lan', '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
答案 1 :(得分:1)
使用phpbb3进行activeDirectory auth是一个技巧。你应该:
顺便问一下,你从phpBB得到什么错误消息?
答案 2 :(得分:0)
@grom ...谢谢,但是,PHP工作得很好。我在同一台服务器上安装了一个WordPress和一个MediaWiki,他们都在对同一个活动目录进行身份验证。
答案 3 :(得分:0)
phpBB3没有提供有关如何启用LDAPS的更多信息,所以我希望这可以帮助某人......
请注意,您可能需要在基本安装后立即清除所有phpBB3 cookie。这将允许管理员用户查看ACP。一旦您能够以管理员身份一直登录phpBB3并想要启用LDAPS身份验证,请执行以下操作(使用AD和Debian测试拉伸):
从AD / LDAP管理员处获取根TLS证书,或者使用以下内容获取:
# openssl s_client -showcerts -connect google.com:443
请参阅MediaWiki文档,因为phpBB3文档非常稀疏: https://www.mediawiki.org/wiki/Extension:LDAP_Authentication/Requirements
将带有.crt名称的PEM格式证书安装到您的OS证书库中。对于基于Debian的系统,那将是/usr/local/share/ca-certificates
然后运行# dpkg-reconfigure ca-certificates
将/etc/ldap/ldap.conf
配置为您的本地设置。请注意,端口3268可能没有内置限制,如带有AD的686。 YMMV。
为绑定创建一个特殊的AD用户。赋予它查找但不更改属性的权限。确认凭据与ldapsearch一起使用。例如:ldapsearch -x -LLL -h ad.mydomain.com -D binduser -W -z 30 -b "dc=mydomain,dc=com" searchString
使用与上述AD绑定用户相同的用户名创建phpBB3用户。作为phpBB3管理员,授予AD绑定用户创建者权限。
使用其他浏览器,以绑定用户身份登录phpBB3,然后以该用户身份设置LDAP身份验证。 (如上文所述)。
测试一下!注销phpBB3,然后使用LDAP / AD凭证再次登录。
如果这不起作用,PHP开发文档非常好,并提供许多注释,包含示例和示例代码。