У меня чертовски много времени пыталось заставить LDAP-аутентификацию работать с этим приложением (apache Roller).Кажется, что это будет просто «заполнить правильные поля и уйти», но я все еще пытаюсь аутентифицироваться на базе данных (метод аутентификации по умолчанию).
Я не понимаю, что говорит Spring-Securityиспользовать один менеджер аутентификации поверх другого, так что это, вероятно, первое, что нужно изменить.Потратив два дня на чтение документации, не приблизимся к ее выяснению.
<beans:bean id="ldapUserSearch" class="org.springframework.security.ldap.search.FilterBasedLdapUserSearch">
<beans:constructor-arg index="0" value="CN=stuff,DC=domain"/>
<beans:constructor-arg index="1" value="uid={0}"/>
<beans:constructor-arg index="2" ref="initialDirContextFactory"/>
<beans:property name="searchSubtree" value="true"/>
</beans:bean>
<beans:bean id="ldapAuthProvider" class="org.springframework.security.providers.ldap.LdapAuthenticationProvider">
<beans:constructor-arg>
<beans:bean class="org.springframework.security.providers.ldap.authenticator.BindAuthenticator">
<beans:constructor-arg ref="initialDirContextFactory"/>
<beans:property name="userSearch" ref="ldapUserSearch"/>
</beans:bean>
</beans:constructor-arg>
<beans:constructor-arg ref="jdbcAuthoritiesPopulator"/>
</beans:bean>
<beans:bean id="jdbcAuthoritiesPopulator" class="org.apache.roller.weblogger.ui.core.security.AuthoritiesPopulator">
<beans:property name="defaultRole" value="groupNameUserHasToBelongTo"/>
</beans:bean>