note 51587 added to function.ldap-bind

From: Date: Tue, 05 Apr 2005 08:31:49 +0000
Subject: note 51587 added to function.ldap-bind
Groups: php.notes 
Request: Send a blank email to php-notes+get-87481@lists.php.net to get a copy of this message
complete ldap authentication script: function checkldapuser($username,$password,$ldap_server){ if($connect=@ldap_connect($ldap_server)){ // if connected to ldap server if (ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3)) { echo "version 3<br>\n"; } else { echo "version 2<br>\n"; } echo "verification on '$ldap_server': "; // bind to ldap connection if(($bind=@ldap_bind($connect)) == false){ print "bind:__FAILED__<br>\n"; return false; } // search for user if (($res_id = ldap_search( $connect, "dc=auto,dc=tuwien,dc=ac,dc=at", "uid=$username")) == false) { print "failure: search in LDAP-tree failed<br>"; return false; } if (ldap_count_entries($connect, $res_id) != 1) { print "failure: username $username found more than once<br>\n"; return false; } if (( $entry_id = ldap_first_entry($connect, $res_id))== false) { print "failur: entry of searchresult couln't be fetched<br>\n"; return false; } if (( $user_dn = ldap_get_dn($connect, $entry_id)) == false) { print "failure: user-dn coulnd't be fetched<br>\n"; return false; } /* Authentifizierung des User */ if (($link_id = ldap_bind($connect, $user_dn, $password)) == false) { print "failure: username, password didn't match: $user_dn<br>\n"; return false; } return true; @ldap_close($connect); } else { // no conection to ldap server echo "no connection to '$ldap_server'<br>\n"; } echo "failed: ".ldap_error($connect)."<BR>\n"; @ldap_close($connect); return(false); }//end function checkldapuser Here a sample for using this function: if (checkldapuser('myuser', 'secretpassword', 'ldap://link.to.ldap')) { echo "ACCESS GRANTED\n"; } else { echo "ACCESS DENIED\n"; } ---- Manual Page -- http://www.php.net/manual/en/function.ldap-bind.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+51587 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+51587&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+51587&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+51587&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+51587&report=yes&reason=useless Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+51587&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+51587&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#87481) next »