Мне интересны лучшие практики использования аутентификации LDAP в веб-приложении на основе Java. В моем приложении я не хочу хранить имя пользователя \ пароль, только некоторые идентификаторы. Но я хочу получить дополнительную информацию (Имя, Фамилия), если она существует в каталоге LDAP.Рекомендации LDAP
ответ
Моя команда использует LDAP как стандартный способ аутентификации. В принципе, мы рассматриваем LDAP как любую другую базу данных.
Чтобы добавить пользователя в приложение, вам нужно выбрать его из LDAP или создать его в LDAP; когда пользователь удаляется из приложения, он остается в LDAP, но не имеет доступа к приложению.
В основном вам необходимо сохранить только имя пользователя LDAP локально. Вы можете каждый раз считывать данные LDAP (электронная почта, отдел и т. Д.) Из LDAP или каким-то образом вытаскивать его в приложении, хотя чтение его из LDAP, вероятно, проще и умнее, поскольку данные LDAP могут измениться. Конечно, если вам требуется отчет или широко использовать данные LDAP, вам может понадобиться вытащить его из LDAP (вручную или с помощью пакетной задачи).
Приятно, что после того, как пользователь отключен в LDAP, он отключен во всех приложениях одновременно; Кроме того, пользователь имеет те же учетные данные во всех приложениях. В корпоративной среде, с кучей внутренних приложений, это большой плюс. Не используйте LDAP для пользователей только для одного приложения; нет реальных преимуществ в этом сценарии.
Если у вас есть несколько веб-приложений и вы хотите использовать аутентификацию LDAP, то одноразовое расфасованное решение может быть лучше, чем создание собственной аутентификации LDAP. CAS поддерживает аутентификацию LDAP и может отменить данные, необходимые для вашего приложения.
В моем колледже мы фактически реализовали CAS как единый знак против нашего сервера Active Directory. Мы также используем CAS для аутентификации наших приложений J2EE и работаем над использованием CAS для аутентификации наших PHP-приложений.
Мы используем AD для хранения пользователей домена. Существуют определенные подразделения, основанные на типе пользователя. У каждого пользователя есть уникальный идентификатор, который является их идентификатором студента/сотрудника, поэтому приложения могут использовать это как первичный ключ в своих базах данных. У нас есть метод авторизации базы данных для наших приложений PHP. Авторизация приложения J2EE исходит из значения в LDAP.
Удачи вам в применении.
Итак, вы хотите, чтобы пользователь вводил только ID, а затем извлекал остальную информацию из LDAP? Это довольно легко.
- Создать LdapInitial контекст и подключения к LDAP
- Выполните поиск по ID (он должен быть сохранен как некоторое значение атрибута) - например, (& (Идентификатор_пользователя = джон) (объектный = пользователь)) - что означает "идентификатор пользователя = джон и объектный = пользователь"
- объект SearchResult будет содержать все атрибуты (или те, которые вы просили)
Некоторые LDAP реализации (известный MS ActiveDirectory LDAP) не позволяют вам подключаться к анонимному пользователю. Для тех, кому необходимо иметь технический идентификатор пользователя/пароль для подключения.
Как уже говорилось, LDAP обычно имеет смысл, когда у вас много приложений.
P.S. Для того, чтобы почувствовать, что LDAP пытается Apache Directory Studio.
Общие рекомендации по использованию LDAP см. В разделе "LDAP: Programming practices".
Ссылка мертва, но резюме можно найти на https://ff1959.wordpress.com/2011/10/27/ldap-programming-best-practices/ –
- 1. Рекомендации по оптимальному моделированию LDAP
- 2. Как определить LDAP LDAP и LDAP LDAP с помощью php?
- 3. Рекомендации/рекомендации - Выполнение заданий
- 4. Рекомендации по кодированию + рекомендации?
- 5. Интеграция нескольких пользовательских данных LDAP в один LDAP
- 6. Spring LDAP vs UnboundId LDAP
- 7. Конфигурация LDAP-портала-ext LDAP
- 8. CAS с аутентификацией LDAP и LDAP
- 9. Ldap поиск в net-ldap Ruby Rails
- 10. Как подключиться к ldap через прокси ldap?
- 11. перевести LDAP из LdapCtxFactory в Spring ldap
- 12. Rails LDAP login using net/ldap
- 13. devise_ldap_authenticable - читать ldap письмо из профиля ldap
- 14. Поиск LDAP с Python без библиотеки LDAP
- 15. Рекомендации/рекомендации, необходимые для набора прикладных технологий
- 16. Рекомендации и рекомендации для vs2010 Расширяемость
- 17. JVM рекомендации по минимальной куче рекомендации?
- 18. Рекомендации и рекомендации по обработке ошибок AJAX
- 19. Резервирование товарного бланка Лучшие рекомендации или рекомендации
- 20. Рекомендации и рекомендации по созданию прокси-сайта
- 21. Рекомендации по рекомендации для кластера Nifi
- 22. LDAP PostgreSQL
- 23. LDAP - Authlogic
- 24. Конфигурирование LDAP
- 25. LDAP: ldap.SIZELIMIT_EXCEEDED
- 26. Рекомендации Redmine
- 27. Рекомендации WordPress
- 28. Структура рекомендации
- 29. Рекомендации Корзина
- 30. Рекомендации WSDL
Не совсем так! В моей базе данных приложений я хочу хранить только идентификатор и связанное с ним DN из LDAP. И если мне нужна дополнительная информация о пользователе, я могу получить ее из каталога, используя DN –
До вас, хотя это дублирование. Но что ты на самом деле задаешь? –