Interface Authenticator
-
- All Known Implementing Classes:
AllowAllAuthenticator,Krb5Authenticator,SimpleAuthenticator
public interface AuthenticatorProvides 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 interfaceAuthenticator.SaslNegotiatorPerforms the actual SASL negotiation for a single authentication attempt.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description AuthenticatedUserauthenticate(Map<String,String> credentials)A "standard" authentication implementation that can be used more generically without SASL support.Authenticator.SaslNegotiatornewSaslNegotiator(InetAddress remoteAddress)Provide a SASL handler to perform authentication for an single connection.booleanrequireAuthentication()Whether or not the authenticator requires explicit login.voidsetup(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 particularChannelizerdoesn't support SASL directly (like basic HTTP authentication).- Throws:
AuthenticationException
-
-