Ответ 1
Взаимодействие, как уже упоминалось, очень сильно зависит от LDAP с некоторыми типами серверного программного обеспечения, хотя большая часть программного обеспечения, которое интегрируется с LDAP, требует определенной схемы, поэтому она не обязательно такая простая, как просто установка и настройка LDAP сервис и отключение - вам может потребоваться добавить новые элементы в схему для каждого приложения, с которым вы хотите взаимодействовать, и каждое приложение может иметь разные ограничения в отношении аутентификации (например, поля с открытым текстом пароля, поля пароля как MD5 или SHA хэши и т.д.).
Хорошая служба LDAP требует хороших знаний о конфигурации, а не создания простой схемы в реляционной базе данных. SQL DB по-прежнему довольно интероперабельный вариант, и поддержка LDAP не такая доминирующая, как раньше. LDAP раньше был единственным вариантом, но многие приложения (например, Apache) и операционные системы (например, Linux PAM) могут аутентифицироваться в SQL DB, подобно MySQL, так же легко, как и серверы LDAP, поскольку все это обрабатывается драйверами, абстрагирующими интерфейс.
Там, где действительно светится LDAP, это масштабируемость. Если вы специально хотите место для хранения учетных записей пользователей для проверки подлинности и хотите масштабировать до нескольких реплицированных серверов, а второй - тысячи запросов на аутентификацию, LDAP - отличный вариант.
Это не то, что современные СУБД не масштабируют его только потому, что LDAP (как правило) еще лучше, потому что он каскадирует репликацию через разные уровни; в частности, при условии, что у вас типичная настройка базы данных аутентификации, где она в основном доступна только для чтения с относительно небольшим количеством операций записи, поэтому вам нужно только одностороннюю репликацию со всеми сообщениями, исходящими из одного источника правды.
Действительно, сервер LDAP - это то, что нужно учитывать, если у вас есть конкретная необходимость сделать это, например конкретное приложение, которое вы хотите взаимодействовать с тем, которое интегрируется только с LDAP, или , если вы создаете высоко масштабируемую систему аутентификации (например, для интернет-провайдера или для супермасштабируемого веб-приложения), где вы планируете иметь более чем пару серверов, предназначенных только для аутентификации, и где они могут быть распространены по всей стране или даже по всему миру).
То, что кто-то уже сделал о том, что передняя часть LDAP на РСУБД очень хорошая. Несколько компаний, в том числе Oracle (которые, конечно же, заинтересованы в РСУБД), имеют продукты, которые специально это делают. Если вам не нужны накладные расходы на управление службой LDAP или если вы просто хотите управлять всеми своими пользователями в БД, вы можете создавать представления/объединения, но подумайте, что вам может понадобиться служба LDAP позже, чем хорошая опция, OpenLDAP также поддерживает конец оболочки, который может принимать данные из любого источника, включая RDBMS; Я использовал его с MySQL, и он работает хорошо, хотя может быть немного затруднительно настроить первый раз, если вам нужно поддерживать определенную схему LDAP.
В общем, LDAP - это замечательно, но это особенно важно для взаимодействия и экстремальной масштабируемости. Если у вас ограниченные ресурсы для управления и поддержки, это может не стоить хлопот поддержки, но если вы планируете такие сервисы, как UNIX, размещенная POP/IMAP/SMTP или другая сторонняя интеграция программного обеспечения, то это, безусловно, стоит делать (и может даже быть вашим единственным жизнеспособным вариантом).
О, и, наконец, будьте осторожны с тем, какой сервер LDAP вы используете, если решите его реализовать! Они не все созданы равными, и различия между ними (с точки зрения производительности и простоты управления и конфигурации) могут быть довольно резкими.
OpenLDAP - довольно безопасная ставка, хорошо масштабируется и довольно проста в использовании. Некоторые приложения работают лучше всего/поставляются с определенными конфигурационными файлами для определенного LDAP-сервера (например, большое количество программного обеспечения на Solaris предполагает, что вы используете сервер каталога Sun ONE), который вы, возможно, не хотели бы использовать, либо потому, что он не работает также, или свиньи для настройки, не поддерживается и т.д.