Интеграция Active Directory со сторонним LDAP - PullRequest
1 голос
/ 30 ноября 2011

Мы производим эти устройства на базе Linux, которые мы хотели бы интегрировать с Active Directory.

Мне интересно, возможен ли следующий рабочий процесс:

Клиент устанавливает наше устройство, получаетэто в сети.Windows SysAdmin использует что-то из своего стандартного набора инструментов для добавления нашего устройства в качестве ресурса, который имеет собственные абстракции, касающиеся разрешений и прав.

С точки зрения устройства;благодаря тому, что SysAdmin настраивает сервер AD (и, таким образом, подключается к нему), устройство Linux сможет использовать этот сервер в качестве агента аутентификации, при этом Windows SysAdmin не нужно напрямую взаимодействовать или настраивать устройство.

По сути, это подключаемое решение, которое может добавлять новые абстракции, специфичные для нашей технологии, с помощью сервера AD, каким-либо образом подключающегося к нему и проходящего аутентификацию.

У меня нет реального опыта управления и настройки AD для корпоративных ИТ, так чтоЯ не знаю, возможно ли это в малейшей степени.Спасибо за вашу помощь!

1 Ответ

1 голос
/ 30 ноября 2011

Подключаемые решения, которые работают во всех ситуациях 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>

Вы также можете распечатать весь массив записи [], чтобы увидеть, что все можно вернуть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...