Interface Authenticator
-
- All Known Implementing Classes:
AllowAllAuthenticator
,Krb5Authenticator
,SimpleAuthenticator
public interface Authenticator
Provides methods related to authentication of a request. Implementations should provide a SASL based authentication method, but a handler can choose to use theauthenticate(Map)
method directly if required for protocols that don't easily support SASL.- Author:
- Stephen Mallette (http://stephen.genoprime.com)
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
Authenticator.SaslNegotiator
Performs the actual SASL negotiation for a single authentication attempt.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description AuthenticatedUser
authenticate(Map<String,String> credentials)
A "standard" authentication implementation that can be used more generically without SASL support.Authenticator.SaslNegotiator
newSaslNegotiator(InetAddress remoteAddress)
Provide a SASL handler to perform authentication for an single connection.boolean
requireAuthentication()
Whether or not the authenticator requires explicit login.void
setup(Map<String,Object> config)
Setup is called once upon system startup to initialize theAuthenticator
.
-
-
-
Method Detail
-
requireAuthentication
boolean requireAuthentication()
Whether or not the authenticator requires explicit login. If false will instantiate user with AuthenticatedUser.ANONYMOUS_USER.
-
setup
void setup(Map<String,Object> config)
Setup is called once upon system startup to initialize theAuthenticator
.
-
newSaslNegotiator
Authenticator.SaslNegotiator newSaslNegotiator(InetAddress remoteAddress)
Provide a SASL handler to perform authentication for an single connection. SASL is a stateful protocol, so a new instance must be used for each authentication attempt.- Parameters:
remoteAddress
- the IP address of the client to authenticate to authenticate or null if an internal client (one not connected over the remote transport).
-
authenticate
AuthenticatedUser authenticate(Map<String,String> credentials) throws AuthenticationException
A "standard" authentication implementation that can be used more generically without SASL support. This implementation is used when a particularChannelizer
doesn't support SASL directly (like basic HTTP authentication).- Throws:
AuthenticationException
-
-