The FailedAccessLdapDao uses the ldaptive library (http://www.ldaptive.org/) to access the LDAP server. The configuration of the connection factory is skipped here. See the documentation at ldaptive.org.
A LDAP schema of the failed access entries can be download here.
@Configuration
public class FacConfig {
@Bean
public FailedAccessCounter failedAccessCounter() {
FailedAccessCounterImpl fac = new FailedAccessCounterImpl();
fac.setFailedAccessDao(failedAccessDao());
return fac;
}
@Bean
public FailedAccessDao failedAccessDao() {
FailedAccessLdapDao dao = new FailedAccessLdapDao();
dao.setFailedAccessLdapMapper(failedAccessLdapMapper());
dao.setSearchRequest(searchRequest());
dao.setConnectionFactory(connectionFactory);
return dao;
}
@Bean
public FailedAccessLdapMapper failedAccessLdapMapper() {
FailedAccessDefaultLdapMapper mapper = new FailedAccessDefaultLdapMapper();
// configure the mapper if you don't use the bremersee-fac.schema
// or use your own implementation
return mapper;
}
@Bean
public SearchRequest searchRequest() {
SearchRequest searchRequest = new SearchRequest();
searchRequest.setBaseDn("ou=Access Failed Entries,dc=example,dc=org");
return searchRequest;
}
@Bean
public ConnectionFactory connectionFactory() {
DefaultConnectionFactory factory = new DefaultConnectionFactory();
// configure the connection factory
return factory;
}
}Have a look to the bremersee-fac-example-ldap module for more details.