Подключаемые решения, которые работают во всех ситуациях AD, практически отсутствуют!Как правило, это небольшая работа системного администратора.
Вашему устройству необходимо запросить несколько полей, таких как адрес сервера, порт сервера, использование SSL, прокси-агент (имя приложения и DN приложения), пароль прокси, базовые DN и шаблон прокси.
Тогда вашему приложению, Java или PHP или чему-либо еще, необходимо реализовать протоколы LDAP и просто выполнить проверку подлинности.
Я интегрировал корпоративный LDAP си Wordpress, и Mediawiki (до этого у них были плагины для него), и это было довольно просто, просто не подключи и играй.
У меня есть два файла, которые я использую в PHP для этого - один с настройками, другой сфункция аутентификации.Включите оба из них в любое приложение PHP и просто передайте введенные имя пользователя и пароль, и он возвращает аутентифицированную информацию о пользователе, такую как имя, адрес электронной почты и т. Д ...
Вот тестовая страница, которую я создал, когда впервыевсе заработало.
<html><body>
<?php
# Matt Hart - PHP-based authentication against active directory
# Tested on Fedora Core 4 with Apache 2.0.54, PHP 4.3.11, OpenLDAP
# OpenSSL, php-ldap
# Working on RHEL4
echo "<br>Attempting Secure LDAP Connection<br>";
// $mh_ldaphost = "ldaps://directory.yoursite.com:636";
$mh_ldaphost = "ldaps://ldap.yoursite.com:636";
$mh_ldapconn = ldap_connect($mh_ldaphost) or die ("Failed");
echo "<br>Succeeded ... Testing app binding<br>";
# Bind using app credentials
$mh_appid = "yourappid"; // ****** Use your application id
$mh_dn = "uid=" . $mh_appid . ",ou=Apps,o=Yoursite.com";
$mh_bind = ldap_bind($mh_ldapconn, $mh_dn) or die("Failed");
echo "<br>Succeeded ... Get user corp ID</br>";
# Get the user's corporate ID
$mh_search = "ou=employees,ou=people,o=yoursite.com";
$mh_userid = "johnny"; // ****** User ID to find
$mh_filter = "(uid=" . $mh_userid . ")";
$mh_search = ldap_search($mh_ldapconn, $mh_search, $mh_filter) or die ("Failed");
echo "<br>Succeeded: ";
$mh_entries = ldap_get_entries($mh_ldapconn, $mh_search);
$mh_corpid = $mh_entries[0]["corpidfield"][0];
echo "CorpID=" . $mh_corpid;
# Authenticate the user
echo "<br><br>Authenticating...<br>";
$mh_authdn = "corpidfield=" . $mh_corpid . ",ou=employees,ou=people,o=yoursite.com";
$mh_authpass = "Depp1"; // ****** User password
$mh_authbind = ldap_bind($mh_ldapconn, $mh_authdn, $mh_authpass) or die("Failed");
die("Success");
?>
</body></html>
Вы также можете распечатать весь массив записи [], чтобы увидеть, что все можно вернуть.