【发布时间】:2017-02-27 00:04:40
【问题描述】:
我正在尝试通过 ldaps 创建从 php 到活动目录服务器的连接。如果我只使用 ldap 连接,我可以连接到服务器,但这不是安全连接。当我将 php 指向安全连接时,它不会连接。一位同事给了我他用于相同连接的 python 代码,但我在尝试在 php 中实现它时遇到了问题。这是我的php代码:
$connection = ldap_connect($this->ldapserver);
$adminBind = false;
if (ldap_set_option($connection, LDAP_OPT_PROTOCOL_VERSION, 3))
if (ldap_set_option($connection, LDAP_OPT_REFERRALS, 0))
if(ldap_set_option($connection, LDAP_OPT_X_TLS_REQUIRE_CERT, 0))
$adminBind = ldap_bind($connection, $this->ldapadmindn, $this->ldapadminpw);
if(!$adminBind)
return false; //server down or admin account unavailable
这是他发给我的python的一部分ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
问题来自ldap_set_option($connection, LDAP_OPT_X_TLS_REQUIRE_CERT, 0)。当我尝试运行此部分时,我收到 Use of undefined constant LDAP_OPT_X_TLS_REQUIRE_CERT 错误。根据the php page for set option,这是可用的选项之一。有谁知道如何让这个选项起作用?
我看到的一个答案是在 ldap.conf 文件中写入“TLS_REQCERT never”。我希望这个连接忽略证书,因为 Web 服务器会定期连接到另一个活动目录,我需要它来使用证书。
感谢您的帮助。
【问题讨论】:
标签: php active-directory