Package org.apache.zookeeper.server.auth
Class ServerAuthenticationProvider
- java.lang.Object
-
- org.apache.zookeeper.server.auth.ServerAuthenticationProvider
-
- All Implemented Interfaces:
AuthenticationProvider
- Direct Known Subclasses:
KeyAuthenticationProvider
public abstract class ServerAuthenticationProvider extends Object implements AuthenticationProvider
A variation onAuthenticationProvider
that provides additional parameters for more detailed authentication
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ServerAuthenticationProvider.MatchValues
static class
ServerAuthenticationProvider.ServerObjs
-
Constructor Summary
Constructors Constructor Description ServerAuthenticationProvider()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract KeeperException.Code
handleAuthentication(ServerAuthenticationProvider.ServerObjs serverObjs, byte[] authData)
This method is called when a client passes authentication data for this scheme.KeeperException.Code
handleAuthentication(ServerCnxn cnxn, byte[] authData)
This method is called when a client passes authentication data for this scheme.boolean
matches(String id, String aclExpr)
This method is called to see if the given id matches the given id expression in the ACL.abstract boolean
matches(ServerAuthenticationProvider.ServerObjs serverObjs, ServerAuthenticationProvider.MatchValues matchValues)
This 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, wait
-
Methods inherited from interface org.apache.zookeeper.server.auth.AuthenticationProvider
getScheme, getUserName, isAuthenticated, isValid
-
-
-
-
Method Detail
-
handleAuthentication
public abstract KeeperException.Code handleAuthentication(ServerAuthenticationProvider.ServerObjs serverObjs, byte[] authData)
This 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.- Parameters:
serverObjs
- cnxn/server/etc that received the authentication information.authData
- the authentication data received.- Returns:
- indication of success or failure
-
matches
public abstract boolean matches(ServerAuthenticationProvider.ServerObjs serverObjs, ServerAuthenticationProvider.MatchValues matchValues)
This 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.- Parameters:
serverObjs
- cnxn/server/etc that received the authentication information.matchValues
- values to be matched
-
handleAuthentication
public final KeeperException.Code handleAuthentication(ServerCnxn cnxn, byte[] authData)
Description copied from interface:AuthenticationProvider
This 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:
handleAuthentication
in interfaceAuthenticationProvider
- Parameters:
cnxn
- the cnxn that received the authentication information.authData
- the authentication data received.- Returns:
- TODO
-
matches
public final boolean matches(String id, String aclExpr)
Description copied from interface:AuthenticationProvider
This 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:
matches
in 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.
-
-