如何在PHP中启用LDAP身份验证

时间:2016-03-10 14:30:11

标签: php active-directory ldap windows-authentication windows-server-2012-r2

我有一台服务器(Windows Server 2012 R2),我需要在PHP中配置LDAP用户身份验证。服务器是域控制器,安装了PHP(5.6),PHP已经有LDAP扩展。与ldp.exe中的凭据绑定可以正常工作。

我知道什么:

  • LDAP连接正常工作
  • 我可以匿名登录
  • 我无法使用用户凭据登录(即使使用管理员凭据)
  • 我已尝试编辑策略"默认域控制器"

域控制器:LDAP服务器签名要求

  

NONE

网络安全:LDAP客户端签名要求

  

谈判签署

PHP代码:

// using ldap bind
$ldaprdn  = 'bigboss';     // ldap rdn or dn
$ldappass = 'AdmiN123';  // associated password

// connect to ldap server
$ldapconn = ldap_connect("ldap://172.16.31.70")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {
    // binding to ldap server
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
    // verify binding
    if ($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }   
}

1 个答案:

答案 0 :(得分:0)

我的错,我需要编辑

$ldaprdn  = 'bigboss'

$ldaprdn  = '[domain name]\bigboss'

由于