Package org.apache.zookeeper.server.auth
Class IPAuthenticationProvider
java.lang.Object
org.apache.zookeeper.server.auth.IPAuthenticationProvider
- All Implemented Interfaces:
AuthenticationProvider
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringgetClientIPAddress(javax.servlet.http.HttpServletRequest request) Returns the HTTP(s) client IP addressThe String used to represent this provider.handleAuthentication(javax.servlet.http.HttpServletRequest request, byte[] authData) This method is called when admin server command passes authentication data for this scheme.handleAuthentication(ServerCnxn cnxn, byte[] authData) This method is called when a client passes authentication data for this scheme.booleanThis method is used to check if the authentication done by this provider should be used to identify the creator of a node.booleanValidates the syntax of an id.booleanThis method is called to see if the given id matches the given id expression in the ACL.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.zookeeper.server.auth.AuthenticationProvider
getUserName
-
Field Details
-
X_FORWARDED_FOR_HEADER_NAME
- See Also:
-
-
Constructor Details
-
IPAuthenticationProvider
public IPAuthenticationProvider()
-
-
Method Details
-
getScheme
Description copied from interface:AuthenticationProviderThe String used to represent this provider. This will correspond to the scheme field of an Id.- Specified by:
getSchemein interfaceAuthenticationProvider- Returns:
- the scheme of this provider.
-
handleAuthentication
Description copied from interface:AuthenticationProviderThis method is called when a client passes authentication data for this scheme. The authData is directly from the authentication packet. The implementor may attach new ids to the authInfo field of cnxn or may use cnxn to send packets back to the client.- Specified by:
handleAuthenticationin interfaceAuthenticationProvider- Parameters:
cnxn- the cnxn that received the authentication information.authData- the authentication data received.- Returns:
- TODO
-
handleAuthentication
public List<Id> handleAuthentication(javax.servlet.http.HttpServletRequest request, byte[] authData) Description copied from interface:AuthenticationProviderThis method is called when admin server command passes authentication data for this scheme.- Specified by:
handleAuthenticationin interfaceAuthenticationProvider- Parameters:
request- the request that contains the authentication information.authData- the authentication data received.- Returns:
- Ids the list of Id. Empty list means not authenticated
-
matches
Description copied from interface:AuthenticationProviderThis method is called to see if the given id matches the given id expression in the ACL. This allows schemes to use application specific wild cards.- Specified by:
matchesin interfaceAuthenticationProvider- Parameters:
id- the id to check.aclExpr- the expression to match ids against.- Returns:
- true if the id can be matched by the expression.
-
isAuthenticated
public boolean isAuthenticated()Description copied from interface:AuthenticationProviderThis method is used to check if the authentication done by this provider should be used to identify the creator of a node. Some ids such as hosts and ip addresses are rather transient and in general don't really identify a client even though sometimes they do.- Specified by:
isAuthenticatedin interfaceAuthenticationProvider- Returns:
- true if this provider identifies creators.
-
isValid
Description copied from interface:AuthenticationProviderValidates the syntax of an id.- Specified by:
isValidin interfaceAuthenticationProvider- Parameters:
id- the id to validate.- Returns:
- true if id is well formed.
-
getClientIPAddress
Returns the HTTP(s) client IP address- Parameters:
request- HttpServletRequest- Returns:
- IP address
-