Class WorkerTokenAuthorizer
- java.lang.Object
-
- org.apache.storm.security.auth.workertoken.WorkerTokenAuthorizer
-
- All Implemented Interfaces:
Closeable,AutoCloseable,PasswordProvider
public class WorkerTokenAuthorizer extends Object implements PasswordProvider, Closeable
Allow for SASL authentication using worker tokens.
-
-
Constructor Summary
Constructors Constructor Description WorkerTokenAuthorizer(Map<String,Object> conf, ThriftConnectionType connectionType)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()static com.codahale.metrics.MetergetPasswordFailuresMeter()Optional<char[]>getPasswordFor(String userName)Get an optional password for a user.StringuserName(String userName)Convert the supplied user name to the actual user name that should be used in the system.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.storm.security.auth.sasl.PasswordProvider
isImpersonationAllowed
-
-
-
-
Constructor Detail
-
WorkerTokenAuthorizer
public WorkerTokenAuthorizer(Map<String,Object> conf, ThriftConnectionType connectionType)
Constructor.- Parameters:
conf- the daemon config for the server.connectionType- the type of connection we are authorizing.
-
-
Method Detail
-
getPasswordFor
public Optional<char[]> getPasswordFor(String userName)
Description copied from interface:PasswordProviderGet an optional password for a user. If no password for the user is found the option will be empty and another PasswordProvider would be tried.- Specified by:
getPasswordForin interfacePasswordProvider- Parameters:
userName- the user this is for.- Returns:
- the password if it is found.
-
getPasswordFailuresMeter
public static com.codahale.metrics.Meter getPasswordFailuresMeter()
-
userName
public String userName(String userName)
Description copied from interface:PasswordProviderConvert the supplied user name to the actual user name that should be used in the system. This may be called on any name. If it cannot be translated then a null may be returned or an exception thrown. If getPassword returns successfully this should not return null, nor throw an exception for the same user.- Specified by:
userNamein interfacePasswordProvider- Parameters:
userName- the SASL negotiated user name.- Returns:
- the user name that storm should use.
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
-