Advertisement
Guest User

Untitled

a guest
Jan 24th, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.44 KB | None | 0 0
  1. function ldap($dbh, $ldaphost, $ldapport, $memberof, $base, $filter, $domain, $username, $password) {
  2.     $auth = false;
  3.     $login = $username.$domain;
  4.     //Проверяем порректность адреса сервера и порта
  5.     $ldap = ldap_connect($ldaphost,$ldapport) or die("Сервер или порт AD указан неверно");
  6.     //Включаем LDAP протокол версии 3
  7.     ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
  8.     if ($ldap)
  9.     {
  10.         // Пытаемся войти в LDAP при помощи введенных логина и пароля
  11.         $bind = ldap_bind($ldap,$login,$password);
  12.         if ($bind)
  13.         {
  14.             //в AD список групп в атрибуте memberOf
  15.              $attributes =array("memberOf");
  16.             // Проверим, является ли пользователь членом указанной группы.
  17.             $result = ldap_search( $ldap,$base, "(&(primarygroupid=".$memberof.") (".$filter.$username."))", $attributes);
  18.             // Получаем количество результатов предыдущей проверки
  19.             $result_ent = ldap_get_entries($ldap,$result);     
  20.         } else
  21.         {
  22.             die('Вы ввели неправильный логин или пароль');
  23.         }
  24.  
  25.         if ($result_ent['count'] != 0)
  26.             {
  27.             $auth = true;
  28.         }
  29.         else {
  30.             die('К сожалению, вам доступ закрыт');
  31.         }  
  32.     }
  33.     return $auth;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement