Разбираемся с LDAP
Начал работу над новым проектом. Он очень большой. И пока мной не охваченный. Т.е. я примерно знаю что это будет, но как это делать, ещё ясности нет.
Одной из текущих задач является разобраться с LDAP, т.к. проект будет крутится внутри локальной сети, а она использует домены для авторизации. Попадание извне на этот портал пока не предусмотрено.
На данный моменты было найдено несколько средств работы с этой службой каталогов.
- Во-первых сам php довольно хорошо о ней осведомлён (мануал), если его предусмотрительно скомпилировать с поддержкой LDAP.
- Во-вторых, есть модуль для Apache, mod_ntlm, который, вроде, поддерживает авторизацию по LDAP, но он для меня ещё тёмный лес. И преимущества, предоставляемые им для меня не очевидны. Кроме того, что он позволяет проводить авторизацию самостоятельно, т.е. без участия php, как Basic http authorization (или как-то так)
- В-третьих есть обертка (wrapper) в виде класса, которая позволяет удобно и не нудно работать с LDAP
Однако, при поиске способов извлечения данных об авторизации пользователем в сети, я пришел к выводу, что сделать это можно только для IE. Т.к. он тесно интегрирован в Windows и умеет сам посылать заголовки о том, что он авторизован. Заодно, можно и имя пользователя извлекать (топик, faq). Не уверен, что этот способ приемлем, но всё же это лучше, чем ничего.
Пока вывод такой: сделать авторизацию, запрашивая LDAP можно. Выдрать имя пользователя, если используется не IE - нельзя.