Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Некоторое время назад пришлось прикручивать к внутреннему сайту авторизацию через домен Windows 2000. Надо сказать, что сама авторизация оказалась довольно простой вещью. Непростым делом оказалось добавление пользователей в Active Directory, но об этом чуть позже, сегодня все же про авторизацию.


Информационный Канал Subscribe.Ru

Веб-журнал (блог) Григория Ситнина


PHP + ActiveDirectory (LDAP)

Некоторое время назад пришлось прикручивать к внутреннему сайту авторизацию через домен Windows 2000. Надо сказать, что сама авторизация оказалась довольно простой вещью. Непростым делом оказалось добавление пользователей в Active Directory, но об этом чуть позже, сегодня все же про авторизацию.

Итак, для авторизации пользователей вашего сайта через ActiveDirectory вам надо следующее: 1) веб-сервер должен видеть компьютер, выполняющий роль контроллера домена; 2) PHP с поддержкой LDAP.

Для проверки авторизации пишем вот такую функцию (считаем, что наш домен "domain.somewhere.ru"):

function GetADAuth($username, $password){ 
 $AD_SERVER = '192.168.0.1'; 
 $dn = 'CN='.$username.'@domain.somewhere.ru,OU=Users,DC=domain,DC=somewhere,DC=ru'; 
 $ad = ldap_connect('ldap://'.$AD_SERVER) or die("Couldn't connect to AD!"); 
 ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3); 
 ldap_set_option($ad, LDAP_OPT_REFERRALS, 0); 
 return(ldap_bind($ad, $username.'@domain.somewhere.ru', $password)); 
} 

Эта функция вернёт TRUE (на самом деле идентификатор ресурса LDAP, с которым можно дальше работать), если пользователь успешно был авторизован или FALSE в противном случае.

Ещё статьи за неделю


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.devbook
Отписаться

В избранное