我对CakePHP非常陌生,这是我第一次尝试使用LDAP。我使用这个CakePHP Ldap身份验证示例得到以下错误消息。
此服务器上未配置LDAP。PHP-LDAP扩展可能丢失的
我的database.php代码是
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => 'my!password',
'database' => 'my_db',
'prefix' => '',
//'encoding' => 'utf8',
);
public $ldap = array(
'datasource' => 'Idbroker.LdapSource',
'host' => 'dc1.my_domain.net',
'port' => 3268,
'basedn' => 'CN=Users,DC=my_domain,DC=net',
'login' => 'CN=theadmin,DC=my_domain,DC=net',
'password' => 'my!password',
'database' => '',
'tls' => false,
'type' => 'ActiveDirectory',
'version' => 3,
);
}
平台为Windows Server 2012 | Apache HTTP| CollabNet| Subversion | Microsoft Active Directory。模块util_ldap-mod_authnz_ldap根据phpinfo.php加载到apache2handler上,并且服务器上的php.ini包含
extension=php_ldap.dll
[ldap]
; -1 for unlimited.
ldap.max_links = -1
对于php-ldap,是否还需要在服务器上加载其他内容?我应该使用其他CakePHP调试方法吗?
php-ldap要在Win32环境中工作,您需要在系统路径中有文件libeay32.dll
和ssleay32.dll
。根据您的PHP版本,您可能还需要libsasl.dll
。
检查您的系统是否可以访问这些内容。此外,请确保php-ldap.dll
确实可用。至少我是这样让它在我的Windows系统上工作的。