Мое приложение использует Spring Security для обработки аутентификации.До сих пор я использовал простой провайдер аутентификации на основе jdbc-user-service, который выполнял авторизацию и авторизацию загрузки, и все это работало нормально:
<authentication-manager alias="authenticationManager">
<authentication-provider>
<password-encoder hash="sha" />
<jdbc-user-service data-source-ref="dataSource"
authorities-by-username-query="select t1.login, t2.USERROLES from USER as t1, USERROLES as t2 where t1.ID=t2.User_ID and t1.login= ?"
users-by-username-query="select login,password,enabled from USER where login = ?" />
</authentication-provider>
</authentication-manager>
Теперь я получил новую спецификацию:
- Полномочия должны быть загружены из базы данных, как и раньше
- Аутентификация должна выполняться с использованием LDAP
Я правильно настроил аутентификацию LDAP в тестовом приложении, и она прекрасно работает.Теперь я должен собрать это вместе.Как я мог заставить моего провайдера аутентификации jdbc не выполнять аутентификацию , а только загружать права доступа и включать следующий аутентификатор-менеджер для того, чтобы (в моем случае, LDAP-аутентификатор) выполнял настоящую аутентификацию?