Плюсы и минусы использования LDAP для внешних пользователей - PullRequest
4 голосов
/ 02 февраля 2010

Я работаю в компании с несколькими общедоступными веб-сайтами.

Некоторые из этих сайтов созданы с использованием сторонних продуктов (Moveable Type, myBB, Trac и другие). У нас также есть несколько сайтов на заказ, построенных на стеке Microsoft.

В настоящее время у нас нет единого решения для аутентификации / авторизации; каждый сайт реализует свой собственный пользовательский магазин.

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

Мне кажется, что наиболее вероятным решением будет внедрение сервера LDAP. LDAP поддерживается некоторыми сторонними продуктами, которые мы используем, и я могу изменить наши специальные сайты для использования LDAP.

Однако я никогда не использовал хранилище LDAP для управления внешними пользователями (я всегда создавал свое собственное хранилище пользователей).

Каковы плюсы и минусы использования LDAP? Я пропустил другие варианты?

Спасибо

Sandy

Ответы [ 2 ]

2 голосов
/ 02 февраля 2010

LDAP - отличный способ хранить пользовательскую информацию в структурированном дереве. Протокол LDAP также делает его легко доступным через Интернет. Существует несколько различных решений LDAP, но выбранное вами, конечно, будет зависеть от операционной системы вашего сервера. Если у вас есть сайты Microsoft, лучше всего использовать Active Directory или ADAM (MS). Легче подчинить машину с Unix Active Directory, чем наоборот. Если все ваши запросы будут основаны на веб-технологиях и обрабатываются с помощью кода, то вы можете использовать любой выбранный вами источник LDAP (все они довольно сложные, но с правильными инструментами, которые легко администрировать).

LDAP по своей природе легкий (следовательно, L) и быстрый. Он структурирован для иерархического доступа к пользовательской информации и удобен для поиска на основе всей этой информации. Он также поддерживает протокол SSL (LDAPS), который я настоятельно рекомендую.

Минусы - это основная иерархическая структура и различия внутри самих структур LDAP. Active Directory не является чистым LDAP по отношению к RFC, но он достаточно близок, чтобы его можно было легко понять.

2 голосов
/ 02 февраля 2010

У меня нет опыта работы с OpenLDAP, но есть плюсы и минусы для LDAP на основе ActiveDirectory:

Плюсы:

  • Он стандартизирован, поэтому довольно часто уже есть некоторые подключаемые модули;
  • Многие платформы разработки поддерживают связь с LDAP; (Я сделал это из PHP некоторое время назад; для этого в .NET есть выделенное пространство имен.)
  • Внедрены все необходимые методы аутентификации и механизмы безопасности - пароли надежно хранятся, при необходимости аутентификация на сервере может выполняться защищенным образом;
  • При необходимости можно включить политику блокировки учетной записи / функции истории паролей;
  • AD имеет удобные инструменты для управления пользователями, а также может быть скриптовым или доступным через API;
  • Пользователи могут иметь сложное членство в группе;
  • Можно настроить разрешения для любого объекта / атрибута;
  • Каталог можно распространять / реплицировать, добавляя дополнительные контроллеры домена.

Минусы:

  • Развертывание требует некоторого планирования;
  • ActiveDirectory должен регулярно создаваться резервные копии.
  • Если вы проходите аутентификацию в Active-Directory, вам нужны лицензии Microsoft.
  • Лицензия довольно дорогая.
...