[ http://issues.apache.org/jira/browse/DIREVE-178?page=comments#action_12318506 ]
Endi S. Dewata commented on DIREVE-178: --------------------------------------- Hi, I can't find the process() method in AuthenticationService. Maybe it's from an older code? In the current code the work is done in AuthenticationService.authenticate(). The way it works is it will attempt to authenticate using each authenticator. If one fails, it will try the next one until it finds the first authenticator that doesn't throw an exception. If all authenticators fail, the authenticate() method itself will throw an LdapAuthenticationException. Hope this helps. Endi > Custom authenticator is never called > ------------------------------------ > > Key: DIREVE-178 > URL: http://issues.apache.org/jira/browse/DIREVE-178 > Project: Directory Server > Type: Bug > Components: server main > Versions: 0.9 > Reporter: Giamma > Assignee: Trustin Lee > > I wrote a custom authenticator that will authenticate against our database. > The problem is that it's never called in AuthenticationService.process(). > It looks like process() will loop through the configured authenticator, > starting with the default one: > for (Iterator i = authenticators.iterator(); i.hasNext(); idx++) { > try { > Authenticator authenticator = (Authenticator) i.next(); > // perform the authentication > LdapPrincipal authorizationId = > authenticator.authenticate(ctx); > ..... > } > } > Unfortunately SimpleAuthenticator will generate a LdapNameNotFoundException > exception and process() will just bail out. > Instead it should try the next authenticator. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
