首頁  >  文章  >  後端開發  >  PHP 讀取 AD 用戶

PHP 讀取 AD 用戶

巴扎黑
巴扎黑原創
2016-11-22 16:49:451822瀏覽

<?php
//phpinfo();
$host = "******:389";
$user = "**@**";
$pswd = "*****";
$ad = ldap_connect($host) or die( "Could not connect!" );
if($ad){
 
//设置参数
  ldap_set_option ( $ad, LDAP_OPT_PROTOCOL_VERSION, 3 );
  ldap_set_option ( $ad, LDAP_OPT_REFERRALS, 0 ); 
  
  // bool ldap_bind ( resource $link_identifier [, string $bind_rdn = NULL [, string $bind_password = NULL ]] )
  $bd = ldap_bind($ad, $user, $pswd)  or die ("Could not bind");
  echo "ldap_bind success";
  
 //指定需要获取的用户属性
 $attrs = array("displayname","cn");
 
 //指定需查询的用户范围
 $filter   = "(objectclass=*)";
 
 //ldap_search ( resource $link_identifier , string $base_dn , string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref ]]]]] )
 $search = ldap_search($ad, &#39;DC=**,DC=**,DC=**&#39;, $filter, $attrs,0,0,0) or die ("ldap search failed");
 
 $entries = ldap_get_entries($ad, $search);
 
 if ($entries["count"] > 0) { 
 echo &#39;返回记录数:&#39;.$entries["count"];
  for ($i=0; $i<$entries["count"]; $i++) {
     //所要获取的字段,都必须小写
     if(isset($entries[$i]["displayname"])){
      echo "<p>displayname: ".$entries[$i]["displayname"][0]."<br />";//用户名
      if(isset($entries[$i]["cn"][0])){
      echo "cn: ".$entries[$i]["cn"][0]."<br />";//用户名字
      }
     }
  }
 } else {
    echo "<p>No results found!</p>";
 }
}else{
  echo "Unable to connect to AD server";
}
?>


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:PHP 快取機制下一篇:PHP 快取機制