为 phpBB3 配置 LDAP 认证

最近需要架设个论坛,需要支持 LDAP 认证,一番Google之后,选择了来源的 phpBB3
废话不多说了,直接来看看 LDAP 认证设置部分.
管理员控制面板->客户端通信->认证设置

关键参数设置
LDAP 服务器名称: 192.168.1.21 --domain.local 域控的IP
LDAP基础dn: OUTest, DC=Domain,DC=local
LDAP uid: sAMAccountName
LDAP 用户 dn: CN=phpBB,CN=Users,DC=domain,DC=local
LDAP 密码: phpBB用户的密码
因为2003以后域不再支持匿名用户查询,所以需要有个域用户来做 LDAP 查询
LDAP uid - 这里用的是 sAMAccountName, 当然你也可以使用 UPN - userPrincipalName 属性,甚至自定义字段,比如来个 employeeNumber 之类的,让用户以工号登录.

具体的认证过程:
当你第一次填入域用户的用户名和密码时,当 phpBB 发现验证通过,实际上会在php_users表里面添加这个域用户, 而之后的认证其实就分开了, 域用户和论坛用户修改各自的密码都不会影响到对方,这个过程仅仅在第一次登录论坛的时候有效.
那么此时如果你通过论坛页面注册个新用户,这个用户也是会存在于论坛程序的DB里面,而不会在AD中生成,而且,因为开的是 LDAP 认证, 所以这个新建的DB用户也是没法登录论坛的.

解决方法请参考 http://www.phpbb.com/community/viewtopic.php?f=46&t=981765
<?php

include_once($phpbb_root_path . 'includes/auth/auth_ldap.' . $phpEx);
include_once($phpbb_root_path . 'includes/auth/auth_db.' . $phpEx);

function init_ldap_db()
{
        init_ldap();
}

function login_ldap_db(&$username, &$password)
{
    $test_login_ldap = login_ldap(&$username, &$password);

    if (($test_login_ldap[status] == LOGIN_SUCCESS)||($test_login_ldap[status] == LOGIN_SUCCESS_CREATE_PROFILE))
    {
            return $test_login_ldap;
    }

    return login_db(&$username, &$password);
}
?>


Leave a comment

Recent Entries

  • Lync Server 2010 发布架构报错

    昨天想试试在现有的 OCS 2007 R2 的基础上部署 Lync Server 2010 试试看,装好 Topology Builder 之后,新建了一个拓扑,然后把该填的都填了,发布的时候老是报SQL错,很是郁闷,后来终于在log中找到了错误原因:  Script result: ERROR_VALIDATE_BAD_SQL_VERSION Error: Script failed (code "ERROR_VALIDATE_BAD_SQL_VERSION") when installing "CentralMgmtStore" on "LyncServer01.mail2any.local"....

  • 使用 URL Rewrite 重定向 Http 请求至 Https

    公司部署了个新的 IIS 站点,需要强制在 Https 下面访问,但是又不希望关掉80端口的 Http 请求,这样对用户体验来讲不好,最好是能强制所有的 Http 请求都会被重定向到 Https 上面去,显然, IIS 自带的 "HTTP Redirect" 已经不能满足这个需求,我们这里使用 IIS 7.0 下面的重定向扩展 URL Rewrite Module 来做。1. http://www.iis.net/download/URLRewrite 到这里下载,有分...

  • How to remember your OC and Outlook password

    How to make your computer remember your Microsoft Communicator 2007 R2 and Outlook 2007 password (如何让你的电脑在非域环境中记住 OC 2007 R2 和 Outlook 的密码)我们知道,在域的环境中,使用 OC 和 Outlook...

  • 微软 CRM 2011 Beta 快速安装图解

    微软在9月17日在网站上放出了 CRM 2011 (也就是CRM5.0)的 beta 版本,我就先来个简单的快读安装图解,一睹为快,下个月会写点新版 CRM 的使用感受。 下载: Microsoft Dynamics CRM 2011 Beta Microsoft Dynamics CRM 2011 Software Development Kit (SDK)Microsoft Dynamics CRM 2011...

  • 升级到 Exchange 2010 SP1 后出现的2个小问题

    今天有空把所有的 Exchange 服务器从 2010 RTM 升级到了 2010 SP1 了, 升级完了后发现了2个小问题: OWA打开正常,但是点到 ECP 的时候报 403 访问拒绝错误 某台 Exchange 打开 EMS 时报错如下: [server.mydomain.local] Connecting to remote server failed...

Close