Подключаемся к Active Directory c помощью PHP, только код. Проходим авторизацию, перебираем пользователей по нужным полям.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
//Первый вариант ///Подключаемся к АД $ldap_host = "192.168.1.10"; //ip контроллера домена $ldap_port = "389"; //Порт $ldap_user ="userad@yourdomain.com "; // AD-user $ldap_pass = "Password"; //AD-user's password /* Открываем соединение */ $connect = ldap_connect( $ldap_host, $ldap_port) or die("Could not connect to LDAP server."); ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($connect, LDAP_OPT_REFERRALS, 0); $bind = ldap_bind($connect, $ldap_user, $ldap_pass) or die("LDAP bind failed..."); $domain1 = "yourdomain"; $domain2 = "com"; $base_dn = "DC=$domain1, DC=$domain2"; $filter = "(&(objectClass=user)(objectCategory=person)(|(name=*)(displayname=*)(cn=*)))"; $search=ldap_search($connect, $base_dn, $filter); $info = ldap_get_entries($connect, $search); $info – Это массив с выборкой всех учетных записей, его уже можно перебрать, и вытянуть необходимые поля. //Второй вариант с перебором полученного массива //На базе переменной $bind, можно сделать авторизацию в AD. $ldap_user ="userad@yourdomain.com "; // AD-user $ldap_pass = "Password"; //AD-user's password $adServer = "ldap:// yourdomain.com"; $ldap = ldap_connect($adServer); $ldaprdn = 'yourdomain' . "\\" . $ldap_user; ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0); $bind = @ldap_bind($ldap, $ldaprdn, $ldap_pass); if($bind) { $users=array(); $filter = "(&(objectClass=user)(objectCategory=person)(|(name=*)(displayname=*)(cn=*)))"; $result = ldap_search($ldap,"dc= yourdomain,dc=COM",$filter); @ldap_sort($ldap,$result,"sn"); $info = ldap_get_entries($ldap, $result); for ($i=0; $i<$info["count"]; $i++) { $user["fio"]=$info[$i]["name"][0]; $user["login"]=$info[$i]["samaccountname"][0]; $users[]=$user; } } else { echo "Неверный логин или пароль"; } @ldap_close($ldap); |