jacknad
jacknad

Reputation: 13739

How to add CakePHP LDAP Authentication?

I am very new to CakePHP and this is my first attempt using LDAP . I get the following error message using this CakePHP Ldap Authentication example.

LDAP not configured on this server. The PHP-LDAP extension is probably missing!

My database.php code is

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,
    );
}

The platform is Windows Server 2012 | Apache HTTP | CollabNet | Subversion | Microsoft Active Directory. Modules util_ldap mod_authnz_ldap are loaded on the apache2handler according to phpinfo.php and the php.ini on the server contains

extension=php_ldap.dll
[ldap]
; -1 for unlimited.
ldap.max_links = -1

Is there something else that needs to be loaded on the server for php-ldap? Are there additional CakePHP debug methods I should be using?

Upvotes: 0

Views: 2159

Answers (1)

ciruvan
ciruvan

Reputation: 5213

For php-ldap to work in Win32 environments, you need to have the files libeay32.dll and ssleay32.dll in your system path. Depending on your PHP version, you may also need libsasl.dll.

Check to see if those are accessible on your system. Also, make sure php-ldap.dll is really available. At least that's how i got it to work on my Windows system.

Upvotes: 1

Related Questions