У меня есть приложение, построенное на Spring MVC, которое использует Hibernate для всех своих потребностей взаимодействия с БД.Теперь необходимо обновить приложение, чтобы использовать нашу инфраструктуру LDAP для передачи пользовательской информации, включая основные пользовательские данные, такие как имя и адрес электронной почты, а также потребности в аутентификации и авторизации.
Поскольку до сих пор все было в одном месте (БД), отчеты все довольно просты, поскольку Hibernate управляет поиском информации по мере необходимости, начиная с требуемых запросов.Захватить имя пользователя и т. Д. Очень просто, поскольку Hibernate загружает данные лениво.
При желании управлять пользовательской информацией с помощью LDAP Hibernate больше не сможет заполнять пользовательскую информацию на лету., поскольку он не будет управлять данными пользователей.Как мы должны использовать LDAP для управления пользовательскими данными и иметь дело с аутентификацией / авторизацией, не причиняя особой боли, когда нам нужно получить пользовательские данные, такие как Имя и т. Д.?рассматривается как «источник» для данных, и текущая система остается без изменений.Это потребует внесения изменений в код обработки транзакций для обновления в соответствии с LDAP, чтобы активная транзакция использовала актуальную информацию, а также периодическую синхронизацию с LDAP для обеспечения актуальности базы данных приложения для целей отчетности.
Это решение кажется немного хакерским и, похоже, содержит много движущихся частей, но я не смог найти много информации по этому вопросу в других местах в Интернете.
Как следует обрабатывать информацию пользователя / как следуетПриложение должно быть структурировано так, чтобы вся пользовательская информация была легко доступна и могла быть легко привязана к остальной части системы для целей отчетности?Есть ли способ интегрировать Spring LDAP и Hibernate, чтобы слои над уровнем данных не должны были знать?Или получение информации из LDAP в существующую базу данных - самый простой способ?