PHP: LDAP - Manual
ldap Attribute 利用Directory Explorer查找 注意要改全小寫
ldap_bind ldap_bind($ldapconn, "{$ldapuser}@{$ldapserver}", $ldappass);
ldap_search
header("Content-Type:text/html; charset=utf-8"); // connect $ldapconn = ldap_connect($ldapserver) or die("Could not connect to LDAP server."); if($ldapconn) { //If you have problems with national characters or UTF8 encoding/decoding, set protocol to version 3: ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3); // binding to ldap server //$ldapbind = ldap_bind($ldapconn, $ldapuser, $ldappass) or die ("Error trying to bind: ".ldap_error($ldapconn)); // binding to ldap server $ldapbind = ldap_bind($ldapconn, "{$ldapuser}@{$ldapserver}", $ldappass); // verify binding if ($ldapbind) { //echo "LDAP bind successful... "; //$result = ldap_search($ldapconn,$ldaptree, "( cn=".$myusername.")") or die ("Error in search query: ".ldap_error($ldapconn)); $filter= "( userPrincipalName=".$myusername."@".$ldapserver.")"; $result = ldap_search($ldapconn,$ldaptree, $filter) or die ("Error in search query: ".ldap_error($ldapconn)); $data = ldap_get_entries($ldapconn, $result); for ($i=0; $i<$data["count"]; $i++) { echo "dn is: ". $data[$i]["dn"] ." "; //syntax must be DirectoryString // echo "givenname: ". $data[$i]["givenname"][0] ." "; // echo "User: ". $data[$i]["cn"][0] ." "; //echo "title: ". $data[$i]["title"][0] ." "; // echo "telephonenumber: ". $data[$i]["telephonenumber"][0] ." "; // echo "mobile: ". $data[$i]["mobile"][0] ." "; $telephonenumber = $data[$i]["telephonenumber"][0]; // echo "memberof: ". $data[$i]["memberof"][0] ." "; $memberof_cn = explode(",", $data[$i]["memberof"][0]); $memberof_cn_value = explode("=", $memberof_cn[0]); //cn=value //echo $memberof_cn_value[1] ." "; //value $ldap_team_name = $memberof_cn_value[1]; $db_team_id = dbquery_team_id($ldap_team_name); echo "db_team_id is: ". $db_team_id ." "; check_db_person_exit($ldapuser,$db_team_id,$telephonenumber); } // print number of entries found echo "Number of entries found: " . ldap_count_entries($ldapconn, $result); } else { echo "LDAP bind failed..."; }Beware of the case sensitivity in php and LDAP/AD connections!
新增使用者資訊
#設定 吳怡君 通訊錄
dn: cn=li,ou=user,dc=xiang,dc=com
cn: li
sn: N/A
objectclass: person
objectclass: inetOrgPerson
givenName: 吳怡君
mail: c293831287@l-penguin.idv.tw
telephoneNumber: 02-29587572
mobile: 0939689593
postalAddress: 台北縣中和市景平路1號
postalCode: 235
ou: 人力資源部
title: 辦事員
#設定 吳怡君 通訊錄
dn: cn=li,ou=user,dc=xiang,dc=com
cn: li
sn: N/A
objectclass: person
objectclass: inetOrgPerson
givenName: 吳怡君
mail: c293831287@l-penguin.idv.tw
telephoneNumber: 02-29587572
mobile: 0939689593
postalAddress: 台北縣中和市景平路1號
postalCode: 235
ou: 人力資源部
title: 辦事員
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。