public class GenericAccountManager extends GenericUserAuthority implements atg.security.I18nAccountManager, AccountTypes, IdUserAuthority, LoginUserAuthority
Modifier and Type | Field and Description |
---|---|
protected static java.lang.String |
AUTHENTICATED |
protected static java.lang.String |
BAD_ACCOUNT_FAILURE |
protected static java.lang.String |
BAD_PASSWORD_FAILURE |
static java.lang.String |
CLASS_VERSION |
protected static java.lang.String |
CREATED_ACCOUNT |
protected static java.lang.String |
DEFAULT_GROUP_DOESNT_EXIST |
protected static java.lang.String |
INVALID_ACCOUNT |
protected static java.lang.String |
LOGIN_DISABLED_FAILURE |
protected static java.lang.String |
NO_PASSWORD_FAILURE |
protected static java.lang.String |
REMOVED_ACCOUNT |
SERVICE_INFO_KEY
ANY_ACCOUNT, GROUP_ACCOUNT, LOGIN_ACCOUNT, PRIVILEGE_ACCOUNT
DEFAULT_LOG_TRACE_STATUS
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
Constructor and Description |
---|
GenericAccountManager() |
GenericAccountManager(java.lang.String pUserAuthorityName) |
Modifier and Type | Method and Description |
---|---|
protected void |
addAccount(Account pAccount)
Adds an account to the set of accounts.
|
void |
clear()
Clears out all accounts.
|
Account |
createAccount(java.lang.String pAccountName,
int pType,
java.util.Map pAttributes)
Creates a new account with a given set of attributes.
|
void |
doStartService()
When this service starts up, we may want to punch in some new
accounts.
|
Account |
getAccount(java.lang.String pAccountName)
Retrieves the account object for the account with the given name.
|
AccountInitializer |
getAccountInitializer()
Returns the account initializer that will set up our standard accounts,
if any.
|
protected java.util.Iterator |
getAccountIterator()
Returns an iterator for all accounts.
|
PasswordHasher |
getAlternateUserPasswordHasher()
Returns the alternate User password hasher to encrypt user data
|
java.lang.String |
getAttributeResourceBundle()
Returns the name of the resource bundle used for translating
attribute names to resource names.
|
java.lang.String[] |
getDefaultLoginGroups()
Returns the set of groups that are assigned to a new login account.
|
java.lang.String |
getDescriptionAttribute()
Returns the name of the group or privilege account attribute that
describes the account in human-readable terms.
|
java.lang.String |
getDisplayNameForAttribute(java.lang.String pAttributeName)
Returns the display name that should be associated with an attribute.
|
java.lang.String |
getFirstNameAttribute()
Returns the name of the attribute that contains the first name of
the owner of a login account.
|
java.lang.String |
getLastNameAttribute()
Returns the name of the attribute that contains the last name of
the owner of a login account.
|
java.lang.String |
getPasswordAttribute()
Returns the name of the attribute that contains the password for
a login account.
|
PasswordHasher |
getPasswordHasher()
Returns the password hasher that should be used to manage password
encryption.
|
java.lang.String |
getPasswordHasherAttribute()
Returns the name of the attribute used for determining the
password hasher component for a login account.
|
atg.security.PasswordHasherConfigurer |
getPasswordHasherConfigurer()
Returns the password hasher configurer which provides different password
hasher based on crypto agility mechanism.
|
Persona |
getPersona(java.lang.Object pId)
Returns a persona for the given ID object.
|
java.util.Iterator |
listAccounts(int pType)
Returns an iterator of accounts with a particular set of types.
|
java.util.Iterator |
listMatchingAccounts(java.lang.String pExpression,
int pType)
Lists accounts that match a given expression.
|
boolean |
login(User pUser,
java.lang.String pName,
java.lang.String pHashedPassword,
java.lang.Object pHashKey)
Authenticates a user, populating the User object with appropriate
personae.
|
boolean |
loginWithUserPasswordHasher(User user,
java.lang.String name,
java.lang.String hashedPassword,
java.lang.Object hashKey,
PasswordHasher pHasher)
Authenticates a user using user specific Password Hasher, populating the
User object with appropriate personae.
|
protected Account |
newAccount(java.lang.String pAccountName,
int pType,
java.util.Map pAttributes)
Hook that allows subclasses to override the type of account that
we create.
|
void |
removeAccount(java.lang.String pAccountName)
Removes an account with the indicated name, if possible.
|
void |
setAccountInitializer(AccountInitializer pInitializer)
Changes the account initializer that will set up our standard accounts,
if any.
|
void |
setAccountMatchFields(java.lang.String[] pFields)
Changes the set of attribute fields that are searched by
listMatchingAccounts().
|
void |
setAlternateUserPasswordHasher(PasswordHasher pAlternateUserPasswordHasher)
Changes the alternateUserpassword hasher used to encrypt passwords.
|
void |
setAttributeResourceBundle(java.lang.String pBundleName)
Changes the resource bundle used for translating attribute names
to resource names.
|
void |
setDefaultLoginGroups(java.lang.String[] pGroups)
Changes the set of groups that are assigned to a new login account.
|
void |
setDescriptionAttribute(java.lang.String pDescriptionAttribute)
Changes the name of the attribute used for determining the
description of a group or privilege account.
|
void |
setFirstNameAttribute(java.lang.String pFirstNameAttribute)
Changes the name of the attribute used for determining the
first name of a login account owner.
|
void |
setLastNameAttribute(java.lang.String pLastNameAttribute)
Changes the name of the attribute used for determining the
last name of a login account owner.
|
void |
setPasswordAttribute(java.lang.String pPasswordAttribute)
Changes the name of the attribute used for determining the
password hasher component for a login account.
|
void |
setPasswordHasher(PasswordHasher pHasher)
Changes the password hasher used for obfuscating passwords.
|
void |
setPasswordHasherAttribute(java.lang.String pPasswordHasherProperty) |
void |
setPasswordHasherConfigurer(atg.security.PasswordHasherConfigurer pPasswordHasherConfigurer)
Changes the password hasher configurer that contains password hasher info.
|
boolean |
setPersonaeFor(User pUser,
java.lang.String pAccountName)
Populates a User object with appropriate personae for the user with
the indicated ID.
|
void |
setUserAuthorityName(java.lang.String pUserAuthorityName)
Changes the name reported for the user authority.
|
addAuthenticationFailedListener, addAuthenticationSucceededListener, addSpecialPersona, fireAuthenticationFailedEvent, fireAuthenticationSucceededEvent, getProxyUserAuthorities, getSpecialPersonae, getSupportsEveryone, getUserAuthorityName, removeAuthenticationFailedListener, removeAuthenticationSucceededListener, removeSpecialPersona, setProxyUserAuthorities, setSpecialPersonae, setSupportsEveryone, userDestroyed
addToRegistry, getRegistry, getRegistryName, getServiceName, removeFromRegistry, setRegistryName, setServiceName, startService, stopService
addLogListener, createAdminServlet, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addAuthenticationFailedListener, addAuthenticationSucceededListener, getUserAuthorityName, removeAuthenticationFailedListener, removeAuthenticationSucceededListener, userDestroyed
public static java.lang.String CLASS_VERSION
protected static final java.lang.String AUTHENTICATED
protected static final java.lang.String BAD_ACCOUNT_FAILURE
protected static final java.lang.String BAD_PASSWORD_FAILURE
protected static final java.lang.String CREATED_ACCOUNT
protected static final java.lang.String DEFAULT_GROUP_DOESNT_EXIST
protected static final java.lang.String INVALID_ACCOUNT
protected static final java.lang.String LOGIN_DISABLED_FAILURE
protected static final java.lang.String NO_PASSWORD_FAILURE
protected static final java.lang.String REMOVED_ACCOUNT
public GenericAccountManager()
public GenericAccountManager(java.lang.String pUserAuthorityName)
public AccountInitializer getAccountInitializer()
public void setAccountInitializer(AccountInitializer pInitializer)
public void setAccountMatchFields(java.lang.String[] pFields)
public java.lang.String getAttributeResourceBundle()
public void setAttributeResourceBundle(java.lang.String pBundleName)
public java.lang.String[] getDefaultLoginGroups()
public void setDefaultLoginGroups(java.lang.String[] pGroups)
public void setDescriptionAttribute(java.lang.String pDescriptionAttribute)
public void setFirstNameAttribute(java.lang.String pFirstNameAttribute)
public void setLastNameAttribute(java.lang.String pLastNameAttribute)
public void setPasswordAttribute(java.lang.String pPasswordAttribute)
public java.lang.String getPasswordHasherAttribute()
getPasswordHasherAttribute
in interface AccountManager
public void setPasswordHasherAttribute(java.lang.String pPasswordHasherProperty)
public void setPasswordHasher(PasswordHasher pHasher)
public void setAlternateUserPasswordHasher(PasswordHasher pAlternateUserPasswordHasher)
public void setUserAuthorityName(java.lang.String pUserAuthorityName)
setUserAuthorityName
in class GenericUserAuthority
public atg.security.PasswordHasherConfigurer getPasswordHasherConfigurer()
getPasswordHasherConfigurer
in interface AccountManager
public void setPasswordHasherConfigurer(atg.security.PasswordHasherConfigurer pPasswordHasherConfigurer)
protected void addAccount(Account pAccount)
public void clear()
protected java.util.Iterator getAccountIterator()
protected Account newAccount(java.lang.String pAccountName, int pType, java.util.Map pAttributes)
public Persona getPersona(java.lang.Object pId)
getPersona()
is called.This means, for instance, that a change to a group will not take effect for any user who has an active persona.
getPersona
in interface UserAuthority
getPersona
in class GenericUserAuthority
Persona
public void doStartService()
doStartService
in class GenericService
public java.util.Iterator listAccounts(int pType)
listAccounts
in interface AccountManager
pType
- The account type(s) to list. You may logical-or
the types togeter to select a union.AccountTypes
public java.util.Iterator listMatchingAccounts(java.lang.String pExpression, int pType)
listMatchingAccounts
in interface AccountManager
pExpression
- The expression to use to determine which accounts
to list. Currently the language used for the
expression is undefined.pType
- The account type(s) to match against. You may logical-or
the types togeter to select a union.AccountTypes
public Account getAccount(java.lang.String pAccountName)
getAccount
in interface AccountManager
pAccountName
- The name of the account to retrieve.public Account createAccount(java.lang.String pAccountName, int pType, java.util.Map pAttributes) throws AccountExistsException, InvalidAttributeException, PermissionDeniedException
createAccount
in interface AccountManager
pAccountName
- The name of the account to create.pAttributes
- Set of attributes that should be set in the new
account. Usually at least "password" is required.
All attribute values must be strings.pType
- The type of the account to create.AccountExistsException
InvalidAttributeException
PermissionDeniedException
AccountTypes
public void removeAccount(java.lang.String pAccountName) throws NoSuchAccountException
removeAccount
in interface AccountManager
NoSuchAccountException
public java.lang.String getDescriptionAttribute()
getDescriptionAttribute
in interface AccountManager
public java.lang.String getFirstNameAttribute()
getFirstNameAttribute
in interface AccountManager
public java.lang.String getLastNameAttribute()
getLastNameAttribute
in interface AccountManager
public java.lang.String getPasswordAttribute()
getPasswordAttribute
in interface AccountManager
public PasswordHasher getPasswordHasher()
getPasswordHasher
in interface AccountManager
getPasswordHasher
in interface LoginUserAuthority
public java.lang.String getDisplayNameForAttribute(java.lang.String pAttributeName)
getDisplayNameForAttribute
in interface atg.security.I18nAccountManager
public boolean setPersonaeFor(User pUser, java.lang.String pAccountName)
Warning: This does not attempt to keep persona and account
information consistent. Changes made to the account will not become
effective until the next time setPersonaeFor()
is called.
setPersonaeFor
in interface IdUserAuthority
public boolean login(User pUser, java.lang.String pName, java.lang.String pHashedPassword, java.lang.Object pHashKey)
getPasswordHasher()
.login
in interface LoginUserAuthority
PasswordHasher
public PasswordHasher getAlternateUserPasswordHasher()
getAlternateUserPasswordHasher
in interface LoginUserAuthority
public boolean loginWithUserPasswordHasher(User user, java.lang.String name, java.lang.String hashedPassword, java.lang.Object hashKey, PasswordHasher pHasher)
LoginUserAuthority
loginWithUserPasswordHasher
in interface LoginUserAuthority
PasswordHasher