Class ConfigModelPasswordManagingAuthenticationProvider<X extends ConfigModelPasswordManagingAuthenticationProvider<X>>
- java.lang.Object
-
- org.apache.qpid.server.model.AbstractConfiguredObject<T>
-
- org.apache.qpid.server.security.auth.manager.AbstractAuthenticationManager<X>
-
- org.apache.qpid.server.security.auth.manager.ConfigModelPasswordManagingAuthenticationProvider<X>
-
- All Implemented Interfaces:
EventLoggerProvider
,AuthenticationProvider<X>
,ConfiguredObject<X>
,ContextProvider
,ManagedInterface
,PasswordCredentialManagingAuthenticationProvider<X>
,PermissionedObject
,TaskExecutorProvider
,UsernamePasswordAuthenticationProvider<X>
- Direct Known Subclasses:
AbstractScramAuthenticationManager
,MD5AuthenticationProvider
,PlainAuthenticationProvider
public abstract class ConfigModelPasswordManagingAuthenticationProvider<X extends ConfigModelPasswordManagingAuthenticationProvider<X>> extends AbstractAuthenticationManager<X> implements PasswordCredentialManagingAuthenticationProvider<X>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.qpid.server.model.AbstractConfiguredObject
AbstractConfiguredObject.CallableWithArgument<V,A>, AbstractConfiguredObject.ChainedListenableFuture<V>, AbstractConfiguredObject.ChainedSettableFuture<V>, AbstractConfiguredObject.DuplicateIdException, AbstractConfiguredObject.DuplicateNameException
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<String,org.apache.qpid.server.security.auth.manager.ManagedUser>
_users
-
Fields inherited from class org.apache.qpid.server.model.AbstractConfiguredObject
SECURED_STRING_VALUE
-
Fields inherited from interface org.apache.qpid.server.model.ConfiguredObject
AWAIT_ATTAINMENT_TIMEOUT, CONTEXT, CREATED_BY, CREATED_TIME, DEFAULT_AWAIT_ATTAINMENT_TIMEOUT, DESCRIPTION, DESIRED_STATE, DURABLE, ID, LAST_UPDATED_BY, LAST_UPDATED_TIME, LIFETIME_POLICY, NAME, OVER_SIZED_ATTRIBUTE_ALTERNATIVE_TEXT, STATE, TYPE
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ConfigModelPasswordManagingAuthenticationProvider(Map<String,Object> attributes, Container<?> container)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected <C extends ConfiguredObject>
com.google.common.util.concurrent.ListenableFuture<C>addChildAsync(Class<C> childClass, Map<String,Object> attributes)
protected abstract String
createStoredPassword(String password)
boolean
createUser(String username, String password, Map<String,String> attributes)
void
deleteUser(String user)
protected PasswordSource
getPasswordSource()
static Map<String,Collection<String>>
getSupportedUserTypes()
org.apache.qpid.server.security.auth.manager.ManagedUser
getUser(String username)
Map<String,Map<String,String>>
getUsers()
void
reload()
Refreshes the cache of user and password data from the underlying storage.void
setPassword(String username, String password)
-
Methods inherited from class org.apache.qpid.server.security.auth.manager.AbstractAuthenticationManager
activate, getAvailableMechanisms, getDisabledMechanisms, getEventLogger, getSecureOnlyMechanisms, logCreated, logDeleted, logOperation, logRecovered, logUpdated, onValidate, startQuiesced
-
Methods inherited from class org.apache.qpid.server.model.AbstractConfiguredObject
addChangeListener, addFutureCallback, applyToChildren, asObjectRecord, attainState, attributesAsString, attributeSet, authorise, authorise, authorise, authoriseCreateChild, awaitChildClassToAttainState, awaitChildClassToAttainState, beforeClose, beforeDelete, changeAttributes, childAdded, childRemoved, close, closeAsync, closeChildren, create, createAsync, createChild, createChildAsync, decryptSecrets, delete, deleteAsync, deleteChildren, deleteNoChecks, doAfter, doAfter, doAfter, doAfter, doAfter, doAfter, doAfterAlways, doAfterAlways, doCreation, doOnConfigThread, doOpening, doResolution, doSync, doSync, doValidation, findConfiguredObject, forceUpdateAllSecureAttributes, getAccessControl, getActualAttributes, getAncestor, getAttainedChildById, getAttainedChildByName, getAttribute, getAttributeNames, getCategoryClass, getChildById, getChildByName, getChildExecutor, getChildren, getContext, getContextKeys, getContextValue, getContextValue, getCreatedBy, getCreatedTime, getDescription, getDesiredState, getId, getLastOpenedTime, getLastUpdatedBy, getLastUpdatedTime, getLifetimePolicy, getModel, getName, getObjectFactory, getParent, getState, getStatistics, getStatistics, getSubjectWithAddedSystemRights, getSystemPrincipal, getSystemTaskControllerContext, getSystemTaskSubject, getSystemTaskSubject, getTaskExecutor, getType, getTypeClass, getUserPreferences, handleExceptionOnOpen, hasEncrypter, isDurable, isSystemProcess, isSystemSubject, managesChildStorage, newToken, notifyStateChanged, onClose, onCreate, onDelete, onExceptionInOpen, onOpen, onResolve, open, openAsync, postResolve, postResolveChildren, postSetAttributes, registerWithParents, removeChangeListener, removeContextVariable, rethrowRuntimeExceptionsOnOpen, runTask, setAttributes, setAttributesAsync, setContextVariable, setEncrypter, setState, setUserPreferences, start, startAsync, stop, toString, updateModel, validateChange, validateChildDelete, validateOnCreate
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.qpid.server.model.AuthenticationProvider
createSaslNegotiator, getAvailableMechanisms, getDisabledMechanisms, getMechanisms, getSecureOnlyMechanisms
-
Methods inherited from interface org.apache.qpid.server.model.ConfiguredObject
addChangeListener, asObjectRecord, authorise, authorise, authorise, close, closeAsync, createChild, createChildAsync, decryptSecrets, delete, deleteAsync, findConfiguredObject, getActualAttributes, getAttainedChildById, getAttainedChildByName, getAttribute, getAttributeNames, getCategoryClass, getChildById, getChildByName, getChildExecutor, getChildren, getContext, getCreatedBy, getCreatedTime, getDescription, getDesiredState, getId, getLastOpenedTime, getLastUpdatedBy, getLastUpdatedTime, getLifetimePolicy, getModel, getName, getObjectFactory, getParent, getState, getStatistics, getStatistics, getType, getTypeClass, getUserPreferences, hasEncrypter, isDurable, managesChildStorage, newToken, open, openAsync, removeChangeListener, removeContextVariable, setAttributes, setAttributesAsync, setContextVariable, setUserPreferences
-
Methods inherited from interface org.apache.qpid.server.model.ContextProvider
getContextKeys, getContextValue, getContextValue
-
Methods inherited from interface org.apache.qpid.server.logging.EventLoggerProvider
getEventLogger
-
Methods inherited from interface org.apache.qpid.server.model.TaskExecutorProvider
getTaskExecutor
-
Methods inherited from interface org.apache.qpid.server.security.auth.manager.UsernamePasswordAuthenticationProvider
authenticate
-
-
-
-
Method Detail
-
getUser
public org.apache.qpid.server.security.auth.manager.ManagedUser getUser(String username)
-
getPasswordSource
protected PasswordSource getPasswordSource()
-
createUser
public boolean createUser(String username, String password, Map<String,String> attributes)
- Specified by:
createUser
in interfacePasswordCredentialManagingAuthenticationProvider<X extends ConfigModelPasswordManagingAuthenticationProvider<X>>
-
deleteUser
public void deleteUser(String user) throws AccountNotFoundException
- Specified by:
deleteUser
in interfacePasswordCredentialManagingAuthenticationProvider<X extends ConfigModelPasswordManagingAuthenticationProvider<X>>
- Throws:
AccountNotFoundException
-
getUsers
public Map<String,Map<String,String>> getUsers()
- Specified by:
getUsers
in interfacePasswordCredentialManagingAuthenticationProvider<X extends ConfigModelPasswordManagingAuthenticationProvider<X>>
-
reload
public void reload() throws IOException
Description copied from interface:PasswordCredentialManagingAuthenticationProvider
Refreshes the cache of user and password data from the underlying storage. If there is a failure whilst reloading the data, the implementation must throw anIOException
and revert to using the previous cached username and password data. In this way, the broker will remain usable.- Specified by:
reload
in interfacePasswordCredentialManagingAuthenticationProvider<X extends ConfigModelPasswordManagingAuthenticationProvider<X>>
- Throws:
IOException
-
setPassword
public void setPassword(String username, String password) throws AccountNotFoundException
- Specified by:
setPassword
in interfacePasswordCredentialManagingAuthenticationProvider<X extends ConfigModelPasswordManagingAuthenticationProvider<X>>
- Throws:
AccountNotFoundException
-
addChildAsync
protected <C extends ConfiguredObject> com.google.common.util.concurrent.ListenableFuture<C> addChildAsync(Class<C> childClass, Map<String,Object> attributes)
- Overrides:
addChildAsync
in classAbstractConfiguredObject<X extends ConfigModelPasswordManagingAuthenticationProvider<X>>
-
getSupportedUserTypes
public static Map<String,Collection<String>> getSupportedUserTypes()
-
-