Re: username format when binding to Active Directory?
| From: | Bing Du | Date: | Tue, 22 Nov 2005 18:02:32 +0000 |
| Subject: | Re: username format when binding to Active Directory? | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-226291@lists.php.net to get a copy of this message | ||
Bing Du wrote:
Hello, The following script returns 'LDAP bind failed...'. <?php echo "Connecting ...<br />"; $ldaprdn = "jsmith\@dept.some.edu"; $ldappass = "jsmithpass"; $ds=ldap_connect("ad.dept.some.edu"); if ($ds) { echo "Binding ...<br />"; $r=ldap_bind($ds, $ldaprdn, $ldappass); if ($r) {Ok, I've figured it out again. Removing the '\' in $ldaprdn="jsmith\@dept.some.edu' fixed the problem. I thought it should be escaped. But looks like it's not necessary. Bingecho "LDAP bind successful...<br />";} else {echo "LDAP bind failed...<br />";} } else {echo "LDAP connection failed...<br />"; }?> If I change $ldaprdn to be "CN=John Smith,OU=Users,OU=DEPT,DC=some,DC=edu", then bind returns 'LDAP bind successful...'. However AD supports username to be in jsmith@dept.some.edu format because querying from the command line works: % ldapsearch -h ad.dept.some.edu -s sub -b "dc=dept,dc=some,dc=edu" -x -D jsmith@dept.some.edu -W "samaccountname=jsmith" Our AD only allows authenicated bindings. We don't know user's DN before binding. So anybody know how to make PHP allow $ldaprdn="jsmith\@dept.some.edu"? Thanks in advance, Bing