经历过才能真的感受,做一个靠谱的人!
分类: 架构设计与优化
2013-09-29 20:42:49
LDAP连接AD域失败原因分析
Windows域管理机制AD是LDAP协议的一种实现,通过LDAP的接口可以实现对AD的编程,很多项目的同一用户管理都会用到AD域管理,比如虚拟化平台项目。下面是使用LDAP的API连接AD域时出现的问题,供大家借鉴。
点击(此处)折叠或打开
错误内容:
点击(此处)折叠或打开
come on!Resource id #2你不好!
Warning: ldap_bind(): Unable to bind to server: Can't contact LDAP server in E:\www\web\testLDAP.php on line 10
LDAP bind failed...
1、ldap_connect():当连接成功时,返回一个正的连接标示符,连接错误就返回false。当使用openLDAP 2.x.x,ldap_connect()总是返回一个资源标示符,但是并没有真正连接,只是初始化了一些基本参数,在执行一些ldap_*函数时,通常是ldap_bind,才会真正连接。
2、搭建AD环境,需要建立一个DNS域服务器,所以在连接AD时ldap_connect(域名),该域名必须能找到(能够ping通该域名),也就是需要配置本机的DNS为AD环境中DNS域服务器的IP,这样就能连接上AD了。
3、另外可以直接通过连接AD域中DNS服务器的IP,修改$ldapconn = ldap_connect ("rd.ncic.ac.cn")为$ldapconn = ldap_connect()。
问题:
根据程序的逻辑分支,错误的以为已经找到AD域并连接成功,事实上ldap_connect()可能只是完成了一些参数的初始化,并未真正连接。