Это может показаться глупым и небезопасным вопросом, но мы являемся интерфейсными разработчиками веб-приложений и мало что знаем об этих вещах. Итак, начнем ..
Мы создаем веб-приложение, в которое хотим войти, используя учетные данные из Active Directory. Однако доступ только для чтения, нам просто нужно войти в систему с учетными данными AD и получить обратный вызов, указывающий на успех или нет.
Я прекрасно знаю, что пароли в AD зашифрованы, поэтому у нас не может быть реплики имени пользователя и пароля в нашей базе данных, синхронизирующейся раз в день или около того. Итак, мы пришли к выводу, что подобное решение должно быть в сети клиента. Итак, чтобы получить доступ как к Active Directory, так и к Интернету, он должен находиться в зоне DMZ?
А может все это звучит глупо? Поскольку мы в любом случае получаем только имя пользователя и пароль из AD, нам больше ничего не нужно. Так что, возможно, конечный пользователь получит дополнительный выигрыш в том, что ему не нужно помнить один дополнительный пароль? А этого может не стоить?
Изменить: все пользователи, которые будут использовать это, уже существуют в Active Directory. Так что, по сути, это инструмент, который отдел продаж будет использовать, путешествуя от своего клиента к другому.
Не стесняйтесь отрицать этот вопрос, если он звучит крайне глупо :)
Вы можете сделать это примерно 30 способами. Это поможет нам узнать, какую ОС / язык / фреймворк вы используете на веб-серверах - некоторые или многие из них будут иметь модуль для выполнения некоторых или всех этих методов.
Вы можете использовать LDAP. Вы можете использовать Kerberos. Вы можете использовать NTLM. Черт, вы можете использовать SMTP, если есть Exchange или другой почтовый сервер, интегрированный в AD, который вы можете запросить - я видел, как это было сделано.
Веб-сервер можно настроить так, чтобы он указывал на контроллер домена, рядовой сервер или сервер AD LDS (ранее ADAM). Если вы используете последний, вы можете поместить его в DMZ. Вы в общем-то не захочет помещать какие-либо другие параметры в DMZ.
Трафик может быть зашифрован с использованием уровня шифрования для конкретного протокола - при использовании LDAP используйте вместо этого LDAPS. Если бы вы использовали SMTP, я бы сказал использовать IPSec или TLS.
К вашему сведению - если бы вы были моим продавцом, я бы хотел знать, что вы делаете это безопасно, и что я не был вашей подопытной свинкой. Подумайте о том, чтобы нанять кого-нибудь, кто знает, что они делают, для этой части проекта. Не осуждайте это наполовину, а затем эксплуатируйте сеть клиента.