Hi, Attempting to connect to an OpenLDAP server to authenticate a user, just want to see if the password the user passes is the stored password if true. I can get the LDAP connection to connect to the server, but unless I switch the LDAP server to use only clear I continually get a 'Invalid Credentials' error (passwords dont match). I am using LDAP MD5 to hash passwords on the server. If I take and echo out the password the routine below is using and compare it to the password on the server they match exactly?! Even if I include "{MD5}" at the front it still always gives me "Invalid Credentials".
Here is an example of the code I am using to check the password: function CheckPassword($username,$password){ $dn = "uid=" . $username . ",ou=People,dc=<domain>,dc=net"; $pw = trim(base64_encode(pack("H*",md5($password)))); $ldapconn = ldap_connect("ldaps://<server_address>/") or die("Could not connect to LDAP server!"); if ($ldapconn) { $ldapbind = ldap_bind($ldapconn,$dn,$pw); if ($ldapbind) { return true; } } } I am using OpenLDAP v2.1.30 and PHP 4.3.8, for what its worth I am using Gentoo and my make flags include "ldap". Thanks for any pointers. Regards, Steven -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php