Как единый вход (SSO) работает с PHP + Apache против Active Directory для прозрачной аутентификации?



Мне нужно получить более полное представление о SSO в веб-приложении против Active Directory.



Для простого запроса у пользователя логина для аутентификации по AD, я знаю, что могу использовать некоторые библиотеки, такие как Zend_Ldap, adLdap и так далее. Но в этом случае пользователю все равно нужно ввести логин дважды.
Например: аутентификация в Active Directory / ISA из php



Afaik, чтобы использовать SSO для transparent login, мне нужно реализовать дополнительный модуль apache.
Например:
Как я могу реализовать единый вход (SSO) с помощью Microsoft AD для внутреннего PHP-приложения?



Аутентификация по ldap с использованием PHP, active directory, при использовании IE / Firefox



Сначала мне нужно знать, какой модуль apache мне нужно использовать и почему.
В этой статье , например, есть три: mod_ntlm, mod_auth_kerb и Apache2:AuthenNTLM.
А тот, что был ТОС, был Apache2:AuthenNTLM



В вопросе , описанном выше, принятый ответ был дляmod_auth_sspi.



Когда речь идет об активном Directory у меня есть такой ответ , который описывает active directory как реализацию ldap + kerberos + "еще несколько разных мелочей".



Я очень запутался во всех этих именах, так как я нервно работал с ним.
Может ли кто-нибудь разъяснить мне это? (ldap, kerberos, ntlm, sspi и т.д.)



Наконец, кто-нибудь может указать мне, как приложение распознает аутентифицированного пользователя (из объявления). Это просто имя пользователя, переданное с чем-то вроде $_SERVER['REMOTE_USER']? Любой пароль-это послал? Как браузер отправляет эти дополнительные заголовки? Существует ли какая-либо локальная конфигурация, которую необходимо выполнить на каждой рабочей станции?
962   2  

2 ответов:

Аутентификация-это запутанная путаница. Вот некоторые предпосылки.

  • LDAP: LDAP-это протокол для передачи информации каталога пользователя. Он также может обрабатывать аутентификацию, но он не является бесшовным (SSO).

  • NTLM: NTLM-это SSO Microsoft, встроенный в IE, ActiveDirectory и IIS. Оригинальная версия NTLM-это очень небезопасно, поэтому протокол NTLMv2 был реализован, чтобы исправить проблемы безопасности протокола NTLM. Исходный NTLM отключен по умолчанию в Windows Vista и позже.

  • Kerberos: Kerberos-это открытый стандарт, который очень безопасен и предназначен для обеспечения бесшовной аутентификации (SSO). ActiveDirectory поддерживает версию Kerberos.

Что касается модулей Apache, которые могут быть использованы для реализации этих протоколов, вы включили довольно хороший список из них.

  • Mod_ntlm: это модуль Apache, который работает на Linux и поддерживает оригинальный NTLM (не NTLMv2).

  • Mod_auth_kerb: это Модуль Apache, реализующий Kerberos.

  • Mod_auth_sspi: это модуль Apache для Windows, который поддерживает исходный NTLM (не NTLMv2).

  • Apache2: AuthenNTLM: это модуль Perl, который обрабатывает NTLM. Я не знаю, поддерживает ли он NTLM и NTLMv2.

  • Mod_auth_ntlm_winbind: это модуль Apache, который взаимодействует с аутентификацией Samba.

Единый вход и общая аутентификация являютсясвязанными, но различными понятиями . Я думаю, что вы может быть путаете их. Если вам нужен истинный SSO, загляните в CAS .

LDAP и AD-это протоколы для хранения данных пользователей и организаций. Они не полезны для выполнения фактической аутентификации через интернет, но вы можете использовать их за SSO (например, CAS), как "базу данных".

Comments

    Ничего не найдено.