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 import org.apache.ldap.common.exception.LdapNoPermissionException;
20 import org.apache.ldap.server.jndi.ServerContext;
21
22 import javax.naming.NamingException;
23
24 /***
25 * A default implentation of an AuthenticationService for handling anonymous connections.
26 *
27 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
28 */
29 public class AnonymousAuthenticator extends AbstractAuthenticator
30 {
31 public AnonymousAuthenticator( )
32 {
33 super( "none" );
34 }
35
36
37 /***
38 * This will be called when the authentication is set to "none" on the client.
39 * If server is not configured to allow anonymous connections, it throws an exception.
40 */
41 public LdapPrincipal authenticate( ServerContext ctx ) throws NamingException
42 {
43 if ( getAuthenticatorContext().getAllowAnonymous() )
44 {
45 return LdapPrincipal.ANONYMOUS ;
46 }
47 else
48 {
49 throw new LdapNoPermissionException( "Anonymous bind NOT permitted!" );
50 }
51 }
52 }