我正在使用 Zend Framework 1.12 构建的 PHP 应用程序从 LAMP 系统针对 Windows AD 服务器进行身份验证。我正在使用 Zend_Ldap 进行连接。如果我不使用安全连接(即 LDAP over LDAPS),身份验证过程可以正常工作。但是,我希望能够从 Web App 执行其他操作,例如在 AD 服务器上重置密码。但是,这需要安全连接。
先介绍一些背景资料
我的 Web 应用程序通过带有自签名证书的 HTTPS 连接 (https://intranet) 运行。自签名证书已添加到 AD 服务器上的受信任存储区。
当我运行我的脚本时,我收到以下错误消息:
Error: 0x51 (Can't contact LDAP server; TLS error -8179:Peer's Certificate issuer is not recognized.): ldaps://192.168.0.x
我的代码如下:
$options = array(
'host' => 192.168.0.2,
'accountDomainName' => domain.internal,
'accountDomainNameShort' => domain,
'accountCanonicalForm' => 3,
'baseDn' => "OU=Establishments,DC=domain,DC=internal"
'username' => 'admin',
'password' => 'password'
'useSsl' => true
);
$ldap = new Zend_Ldap($options);
$ldap->bind();
我的问题是:
我的问题出在我的代码或服务器配置的某个地方吗?有没有人有过 Zend_Ldap 和 AD 的经验?