У меня есть веб-приложение, настроенное на использование сервера ldap по умолчанию / менеджер аутентификации / поставщик аутентификации / служба пользователя. У меня есть другой DAO, который уже выполняет большую часть работы, которую выполняют (помимо аутентификации пользователя) с использованием Spring-LDAP. Моя проблема в том, что я хочу, чтобы основной класс принадлежал моему собственному классу bean. Какой самый простой способ сделать это?
Изначально я думал о создании собственного провайдера аутентификации, но, поскольку по умолчанию он делает именно то, что я хочу, похоже, в этом нет необходимости. Я думаю, что мне просто нужно переопределить любой объект, который на самом деле возвращает Основной бин. Возможно ли это и может ли быть введено в контекст аутентификатора безопасности ldap?
Вот как я сейчас настроил:
<ldap-server
url="ldap://HOST:3268/BASEDN"
manager-dn="FULLDN"
manager-password="PASS"/>
<authentication-manager>
<ldap-authentication-provider user-search-filter="(samaccountname={0})"/>
<authentication-provider>
<ldap-user-service user-search-filter="(samaccountname={0})"/>
</authentication-provider>
</authentication-manager>
Является ли 'ldap-user-service' тем, что связывает основной компонент с объектом аутентификации SecurityContext?
Проблема в том, что сейчас у меня есть 2-я конфигурация LDAP (почти идентичная конфигурации аутентификации), которая предназначена для DAO, когда пользователь заходит на страницу, я просто повторно ищу его учетную запись и возвращаю пользователя объект (который был бы хорош, если бы это был принципал SecurityContext) ...