1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.ldap.server.authn;
18
19
20 import org.apache.ldap.server.jndi.ServerContext;
21
22 import javax.naming.NamingException;
23
24
25 /***
26 * Defines methods that all Authenticators must implement.
27 *
28 * <p>An AuthenticationService is a program that performs client authentication based on the authentication
29 * method/type that the client specifies in the JNDI properties.
30 *
31 * <p>To implement this interface, you can write an authenticator that extends org.apache.ldap.server.authn.AbstractAuthenticator.
32 *
33 * @see org.apache.ldap.server.authn.AbstractAuthenticator
34 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
35 * @version $Rev$
36 */
37 public interface Authenticator
38 {
39 public AuthenticatorConfig getAuthenticatorConfig();
40
41 public String getAuthenticatorType();
42
43 /***
44 * Called by the authenticator container to indicate that the authenticator is being placed into service.
45 *
46 * @param authenticatorConfig
47 * @throws NamingException
48 */
49 public void init( AuthenticatorConfig authenticatorConfig ) throws NamingException;
50
51 /***
52 * Perform the authentication operation and return the authorization id if successfull.
53 *
54 * @param ctx
55 * @return the authorization id
56 * @throws NamingException
57 */
58 public LdapPrincipal authenticate( ServerContext ctx ) throws NamingException;
59 }