Class AuthSubsystem
- java.lang.Object
-
- com.netscape.cmscore.authentication.AuthSubsystem
-
- All Implemented Interfaces:
ISubsystem
,IAuthSubsystem
public class AuthSubsystem extends java.lang.Object implements IAuthSubsystem
Default authentication subsystem- Version:
- $Revision$, $Date$
- Author:
- cfu, lhsiao
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ID
static org.slf4j.Logger
logger
java.util.Hashtable<java.lang.String,AuthManagerProxy>
mAuthMgrInsts
java.util.Hashtable<java.lang.String,AuthMgrPlugin>
mAuthMgrPlugins
-
Fields inherited from interface org.dogtagpki.server.authentication.IAuthSubsystem
CERTUSERDB_AUTHMGR_ID, CERTUSERDB_PLUGIN_ID, CHALLENGE_AUTHMGR_ID, CHALLENGE_PLUGIN_ID, CMC_USER_SIGNED_AUTH_AUTHMGR_ID, CMCAUTH_AUTHMGR_ID, CMCAUTH_PLUGIN_ID, NULL_AUTHMGR_ID, NULL_PLUGIN_ID, PASSWDUSERDB_AUTHMGR_ID, PASSWDUSERDB_PLUGIN_ID, PROP_CLASS, PROP_IMPL, PROP_PLUGIN, SSLCLIENTCERT_AUTHMGR_ID, SSLCLIENTCERT_PLUGIN_ID
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(java.lang.String name, IAuthManager authMgrInst)
Add an authentication manager instance.IAuthToken
authenticate(IAuthCredentials authCred, java.lang.String authMgrInstName)
Authenticate to the named authentication manager instancevoid
delete(java.lang.String name)
Deletes (deregisters) the given authentication manager.IAuthManager
get(java.lang.String name)
Gets the authentication manager instance of the specified name.IAuthManager
getAuthManager(java.lang.String name)
gets the named authentication managerIAuthManager
getAuthManagerPlugin(java.lang.String name)
Retrieve a single auth manager instanceAuthMgrPlugin
getAuthManagerPluginImpl(java.lang.String name)
retrieve a single auth manager plugin by namejava.util.Enumeration<AuthMgrPlugin>
getAuthManagerPlugins()
Enumerate all registered authentication manager plugins.java.util.Enumeration<IAuthManager>
getAuthManagers()
Enumerate all authentication manager instances.java.lang.String[]
getConfigParams(java.lang.String implName)
Gets configuration parameters for the given authentication manager plugin.AuthenticationConfig
getConfigStore()
Returns the root configuration storage of this system.java.lang.String
getId()
Retrieves id (name) of this subsystem.static AuthSubsystem
getInstance()
java.util.Hashtable<java.lang.String,AuthManagerProxy>
getInstances()
Get a hashtable containing all authentication instances.java.util.Hashtable<java.lang.String,AuthMgrPlugin>
getPlugins()
Get a hashtable containing all authentication plugins.java.lang.String[]
getRequiredCreds(java.lang.String authMgrInstName)
Gets a list of required authentication credential names of the specified authentication manager.void
init(IConfigStore config)
Initializes the authentication subsystem from the config store.void
setId(java.lang.String id)
Sets id string to this subsystem.void
shutdown()
shuts down authentication managers one by one.void
startup()
registers the administration servlet with the administration subsystem.
-
-
-
Field Detail
-
logger
public static org.slf4j.Logger logger
-
ID
public static final java.lang.String ID
- See Also:
- Constant Field Values
-
mAuthMgrPlugins
public java.util.Hashtable<java.lang.String,AuthMgrPlugin> mAuthMgrPlugins
-
mAuthMgrInsts
public java.util.Hashtable<java.lang.String,AuthManagerProxy> mAuthMgrInsts
-
-
Method Detail
-
getInstance
public static AuthSubsystem getInstance()
-
init
public void init(IConfigStore config) throws EBaseException
Initializes the authentication subsystem from the config store. Load Authentication manager plugins, create and initialize initialize authentication manager instances.- Specified by:
init
in interfaceISubsystem
- Parameters:
config
- The configuration store.- Throws:
EBaseException
- failed to initialize
-
authenticate
public IAuthToken authenticate(IAuthCredentials authCred, java.lang.String authMgrInstName) throws EMissingCredential, EInvalidCredentials, EAuthMgrNotFound, EBaseException
Authenticate to the named authentication manager instance- Specified by:
authenticate
in interfaceIAuthSubsystem
- Parameters:
authCred
- authentication credentials subject to the requirements of each authentication managerauthMgrName
- name of the authentication manager instance- Returns:
- authentication token with individualized authenticated information.
- Throws:
EMissingCredential
- If a required credential for the authentication manager is missing.EInvalidCredentials
- If the credentials cannot be authenticatedEAuthMgrNotFound
- The auth manager is not found.EBaseException
- If an internal error occurred.
-
getRequiredCreds
public java.lang.String[] getRequiredCreds(java.lang.String authMgrInstName) throws EAuthMgrNotFound
Gets a list of required authentication credential names of the specified authentication manager.- Specified by:
getRequiredCreds
in interfaceIAuthSubsystem
- Parameters:
authMgrInstName
- The authentication manager name- Returns:
- a Vector of required credential attribute names.
- Throws:
EAuthMgrNotFound
-
getConfigParams
public java.lang.String[] getConfigParams(java.lang.String implName) throws EAuthMgrPluginNotFound, EBaseException
Gets configuration parameters for the given authentication manager plugin.- Specified by:
getConfigParams
in interfaceIAuthSubsystem
- Parameters:
implName
- Name of the authentication plugin.- Returns:
- Hashtable of required parameters.
- Throws:
EAuthMgrPluginNotFound
- If the authentication manager plugin is not found.EBaseException
- If an internal error occurred.
-
add
public void add(java.lang.String name, IAuthManager authMgrInst)
Add an authentication manager instance.- Specified by:
add
in interfaceIAuthSubsystem
- Parameters:
name
- name of the authentication manager instanceauthMgr
- the authentication manager instance to be added
-
delete
public void delete(java.lang.String name)
Description copied from interface:IAuthSubsystem
Deletes (deregisters) the given authentication manager.- Specified by:
delete
in interfaceIAuthSubsystem
- Parameters:
name
- The authentication manager name to delete.
-
get
public IAuthManager get(java.lang.String name)
Gets the authentication manager instance of the specified name.- Specified by:
get
in interfaceIAuthSubsystem
- Parameters:
name
- name of the authentication manager instance- Returns:
- the named authentication manager instance
-
getAuthManagers
public java.util.Enumeration<IAuthManager> getAuthManagers()
Enumerate all authentication manager instances.- Specified by:
getAuthManagers
in interfaceIAuthSubsystem
- Returns:
- a list of authentication managers
-
getAuthManagerPlugins
public java.util.Enumeration<AuthMgrPlugin> getAuthManagerPlugins()
Enumerate all registered authentication manager plugins.- Specified by:
getAuthManagerPlugins
in interfaceIAuthSubsystem
- Returns:
- a list of authentication plugins
-
getAuthManagerPluginImpl
public AuthMgrPlugin getAuthManagerPluginImpl(java.lang.String name)
retrieve a single auth manager plugin by name- Specified by:
getAuthManagerPluginImpl
in interfaceIAuthSubsystem
- Parameters:
name
- given authentication manager name.- Returns:
- an authentication manager plugin
-
getAuthManagerPlugin
public IAuthManager getAuthManagerPlugin(java.lang.String name)
Retrieve a single auth manager instance- Specified by:
getAuthManagerPlugin
in interfaceIAuthSubsystem
- Parameters:
name
- given authentication plugin name- Returns:
- the given authentication plugin
-
getId
public java.lang.String getId()
Retrieves id (name) of this subsystem.- Specified by:
getId
in interfaceISubsystem
- Returns:
- name of the authentication subsystem
-
setId
public void setId(java.lang.String id) throws EBaseException
Sets id string to this subsystem.Use with caution. Should not do it when sharing with others
- Specified by:
setId
in interfaceISubsystem
- Parameters:
id
- name to be applied to an authentication sybsystem- Throws:
EBaseException
- failed to set id
-
startup
public void startup() throws EBaseException
registers the administration servlet with the administration subsystem.- Specified by:
startup
in interfaceISubsystem
- Throws:
EBaseException
- failed to start up
-
shutdown
public void shutdown()
shuts down authentication managers one by one.- Specified by:
shutdown
in interfaceISubsystem
-
getPlugins
public java.util.Hashtable<java.lang.String,AuthMgrPlugin> getPlugins()
Description copied from interface:IAuthSubsystem
Get a hashtable containing all authentication plugins.- Specified by:
getPlugins
in interfaceIAuthSubsystem
- Returns:
- all authentication plugins.
-
getInstances
public java.util.Hashtable<java.lang.String,AuthManagerProxy> getInstances()
Description copied from interface:IAuthSubsystem
Get a hashtable containing all authentication instances.- Specified by:
getInstances
in interfaceIAuthSubsystem
- Returns:
- all authentication instances.
-
getConfigStore
public AuthenticationConfig getConfigStore()
Returns the root configuration storage of this system.- Specified by:
getConfigStore
in interfaceISubsystem
- Returns:
- configuration store of this subsystem
-
getAuthManager
public IAuthManager getAuthManager(java.lang.String name)
gets the named authentication manager- Specified by:
getAuthManager
in interfaceIAuthSubsystem
- Parameters:
name
- of the authentication manager- Returns:
- the named authentication manager
-
-