我无法让phpBB通过我们的Active Directory进行身份验证

时间:2008-09-03 06:16:35

标签: active-directory phpbb

我很确定我使用的设置是正确的,所以我应该检查所有可能的错误,以便我可以使用Active Directory工作进行身份验证。

4 个答案:

答案 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中创建一个名称与某个AD名称相同的帐户
  • 在phpBB
  • 中为此帐户授予admin / founder权限
  • 使用此帐户登录
  • 在此帐户中设置身份验证参数

顺便问一下,你从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开发文档非常好,并提供许多注释,包含示例和示例代码。