我的php脚本存在以下问题:
PHP警告:ldap_bind():无法绑定到服务器:无法联系LDAP服务器....
ldap_connect()
说“成功”,但ldap_bind()
失败了,如何解决这个问题?
答案 0 :(得分:8)
Connect打开会话。绑定是实际验证你的。因此,您已连接但未使用有效凭据登录。
答案 1 :(得分:5)
由于SELinux限制端口HTTPD可以使用RHEL7(CentOS7)上的此错误。
LDAP端口389和636不在默认允许列表中,您可以使用以下命令取消阻止:
setsebool -P httpd_can_network_connect 1
您可以尝试通过LDAP服务器的套接字来测试限制:
fsockopen('LDAP-Server-IP', 389);
它会拒绝权限'显示它已被屏蔽,而不是凭据问题。
还要检查SELinux审核日志文件以查找被阻止的其他内容。
答案 2 :(得分:0)
有时问题将取决于您的环境(Linux,Windows ......) 尝试使用以下选项之一进行绑定:
get_initial
或
def get_initial(self):
patient = get_object_or_404(Patient, pk=self.kwargs.get('patient_id'))
return {
'patient': patient,
}
答案 3 :(得分:-1)
ldap_bind()函数要求三个参数:
如果仅使用资源ID进行绑定: -
// $ldap=ladap_connect(*hostname*,*port*);
// ldap_connect() returns a resource id
ldap_bind() returns a boolean value(true or false)
ldap_bind($ladp); //annonymous bind
$lb=ldap_bind($ldap,"uid=xxx,ou=something,o=hostname.com","password"); //used to authenticate
如果没有,那么你应该使用无效的凭证。