I am using Apache DS M18 Version. I have just updated from M10 release. I have observed a problem in your implementation w.r.t Authentication Interceptors. I am trying to add another authenticator, that basically uses a backend database to perform authentication. I have written an authentication interceptor, which is getting registered in the AuthenticationInterceptor class.
The problem appears when you are setting the directoryService to each authenticator. When there are multiple Authenticators with the a common type example SIMPLE, then the following method
register( Authenticator authenticator, DirectoryService directoryService ) throws LdapException
adds only the first Authenticator to the
During the next iteration when you are setting the DirectoryService to the AuthenticaionInterceptors in the method
init( DirectoryService directoryService ) throws LdapException
you are reading just the authenticators in the authenticators field. This results in some of the AuthenticationInterceptors missing the directoryService variable, which is very important for Querying from LDAP.