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: 辦事員


沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。