T - public class DatabasePasswordComposite<T extends AppUser> extends PasswordAuthComposite<T> implements AnonymisingComposite<T>
| Modifier and Type | Class and Description |
|---|---|
class |
DatabasePasswordComposite.AcceptHashFilter
An
AcceptFilter that selects records that match a password. |
class |
DatabasePasswordComposite.Handler
A handler class for any database fields specific to the composite.
|
protected static class |
DatabasePasswordComposite.PasswordStatus |
class |
DatabasePasswordComposite.SQLHashFilter
Filter to select from a hashed (possibly salted) string.
|
PasswordAuthComposite.PasswordResetRequiredPage, PasswordAuthComposite.UpdatePasswordTransition| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
ALG |
static Feature |
CHANGE_OLD_HASH |
static uk.ac.ed.epcc.webapp.session.DatabasePasswordComposite.PasswordStatus.Value |
FIRST |
static int |
GENERATED_PASSWORD_LENGTH
Number of characters generated randomly for initial passwords
If ('a'-'z') + ('A'-'Z') + ('0'-'9') = 62 ~= 64 ~= 6 bits,
16 characters gives nearly 96 bits
|
static uk.ac.ed.epcc.webapp.session.DatabasePasswordComposite.PasswordStatus.Value |
INVALID |
protected static Feature |
JAVA_HASH |
static Feature |
LOG_RANDOM_PASSWORD |
static Feature |
NON_RANDOM_PASSWORD |
static Feature |
NOTIFY_PASSWORD_LOCK |
static java.lang.String |
PASSWORD |
static java.lang.String |
PASSWORD_CHANGED |
static java.lang.String |
PASSWORD_FAILS |
static java.lang.String |
SALT |
protected static Feature |
SALT_FIRST_FEATURE |
static uk.ac.ed.epcc.webapp.session.DatabasePasswordComposite.PasswordStatus.Value |
VALID |
CHANGE_PASSWORD, USER_CHANGE_PASSWORD_FEATURE| Constructor and Description |
|---|
DatabasePasswordComposite(AppUserFactory<T> fac) |
| Modifier and Type | Method and Description |
|---|---|
java.util.Map<java.lang.String,java.lang.Object> |
addDefaults(java.util.Map<java.lang.String,java.lang.Object> h)
Generate a set of default property values.
|
java.util.Set<java.lang.String> |
addSuppress(java.util.Set<java.lang.String> supress)
generate the class specific set of suppressed fields to be used in form creation/update
The individual forms can override these so you usually use this method to define fields that should
be suppressed in all forms.
|
void |
anonymise(T target) |
boolean |
canResetPassword(T user)
Is it legal to reset the password for the current user.
|
boolean |
checkPassword(T u,
java.lang.String password)
Check if a string matches this persons password.
|
boolean |
doWelcome(T person)
Should we show a welcome page for new users.
|
T |
findByLoginNamePassword(java.lang.String email,
java.lang.String password)
Check a supplied user-name and password.
|
T |
findByLoginNamePassword(java.lang.String email,
java.lang.String password,
boolean check_fail_count)
Check a supplied user-name and password.
|
java.lang.String |
firstPassword(T user)
set the initial randomised password for the user
|
DatabasePasswordComposite.Handler |
getHandler(T user) |
java.lang.String |
getLoginNameLabel()
The label for the LoginName input in the login form.
|
protected BaseFilter<T> |
getPasswordFilter(java.lang.String password)
return filer that matches all entries with the specified password
|
void |
lockPassword(T user)
lock the account so no password works.
|
TableSpecification |
modifyDefaultTableSpecification(TableSpecification s,
java.lang.String table)
Modify the
TableSpecification of the target factory. |
boolean |
mustResetPassword(T user)
Is the user required to change their password
|
void |
newPassword(T user)
Set a new randomised password for the user and send a notification email
|
java.lang.String |
nonRandomString(int length) |
java.lang.String |
randomisePassword(T user)
set a new randomised password for the user
|
java.lang.String |
reasonForReset(T user)
Text explanation of why
PasswordAuthComposite.mustResetPassword(AppUser) returned true. |
void |
setPassword(Hash h,
T user,
java.lang.String password) |
void |
setPassword(T user,
java.lang.String password)
Change the password for a user
|
boolean |
useSalt() |
getRequiredPages, getTransitions, getType, newSignupaddFieldHelp, addOptional, addSelectors, addTranslations, customiseForm, customiseUpdateForm, getContext, getFactory, getLogger, getRecord, getRepository, postUpdate, preRegister, release, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddEraseFieldsaddFieldConstraints, addFormFieldsprotected static final Feature JAVA_HASH
protected static final Feature SALT_FIRST_FEATURE
public static final Feature NON_RANDOM_PASSWORD
public static final Feature LOG_RANDOM_PASSWORD
public static final Feature NOTIFY_PASSWORD_LOCK
public static final Feature CHANGE_OLD_HASH
public static final java.lang.String SALT
public static final java.lang.String ALG
public static final java.lang.String PASSWORD
public static final java.lang.String PASSWORD_FAILS
public static final java.lang.String PASSWORD_CHANGED
public static final int GENERATED_PASSWORD_LENGTH
public static final uk.ac.ed.epcc.webapp.session.DatabasePasswordComposite.PasswordStatus.Value VALID
public static final uk.ac.ed.epcc.webapp.session.DatabasePasswordComposite.PasswordStatus.Value INVALID
public static final uk.ac.ed.epcc.webapp.session.DatabasePasswordComposite.PasswordStatus.Value FIRST
public DatabasePasswordComposite(AppUserFactory<T> fac)
fac - protected BaseFilter<T> getPasswordFilter(java.lang.String password) throws DataFault
password - DataFaultpublic boolean useSalt()
public java.lang.String getLoginNameLabel()
public DatabasePasswordComposite.Handler getHandler(T user)
public java.util.Map<java.lang.String,java.lang.Object> addDefaults(java.util.Map<java.lang.String,java.lang.Object> h)
TableStructureContributeraddDefaults in interface TableStructureContributer<T extends AppUser>addDefaults in class Composite<T extends AppUser,PasswordAuthComposite<T extends AppUser>>Map of default valuespublic java.lang.String nonRandomString(int length)
public java.util.Set<java.lang.String> addSuppress(java.util.Set<java.lang.String> supress)
TableStructureContributeraddSuppress in interface TableStructureContributer<T extends AppUser>addSuppress in class Composite<T extends AppUser,PasswordAuthComposite<T extends AppUser>>Set of fields to suppress in forms.public TableSpecification modifyDefaultTableSpecification(TableSpecification s, java.lang.String table)
TableStructureContributerTableSpecification of the target factory.modifyDefaultTableSpecification in interface TableStructureContributer<T extends AppUser>modifyDefaultTableSpecification in class Composite<T extends AppUser,PasswordAuthComposite<T extends AppUser>>public boolean checkPassword(T u, java.lang.String password)
checkPassword in class PasswordAuthComposite<T extends AppUser>u - AppUser to checkpassword - unencrypted password to check.public final T findByLoginNamePassword(java.lang.String email, java.lang.String password) throws DataException
PasswordAuthCompositefindByLoginNamePassword in class PasswordAuthComposite<T extends AppUser>DataExceptionpublic T findByLoginNamePassword(java.lang.String email, java.lang.String password, boolean check_fail_count) throws DataException
PasswordAuthCompositefindByLoginNamePassword in class PasswordAuthComposite<T extends AppUser>check_fail_count - set to false to ignore failed logins.DataExceptionpublic boolean canResetPassword(T user)
PasswordAuthCompositecanResetPassword in class PasswordAuthComposite<T extends AppUser>user - or null for general testpublic void setPassword(T user, java.lang.String password) throws DataFault
PasswordAuthCompositesetPassword in class PasswordAuthComposite<T extends AppUser>password - clear-text passwordDataFaultpublic void setPassword(Hash h, T user, java.lang.String password) throws DataFault
DataFaultpublic void newPassword(T user) throws java.lang.Exception
PasswordAuthCompositenewPassword in class PasswordAuthComposite<T extends AppUser>java.lang.Exceptionpublic java.lang.String randomisePassword(T user) throws DataFault
PasswordAuthCompositerandomisePassword in class PasswordAuthComposite<T extends AppUser>DataFaultpublic java.lang.String firstPassword(T user) throws DataFault
PasswordAuthCompositefirstPassword in class PasswordAuthComposite<T extends AppUser>DataFaultpublic void lockPassword(T user)
PasswordAuthCompositelockPassword in class PasswordAuthComposite<T extends AppUser>public boolean doWelcome(T person)
PasswordAuthCompositedoWelcome in class PasswordAuthComposite<T extends AppUser>public boolean mustResetPassword(T user)
PasswordAuthCompositemustResetPassword in class PasswordAuthComposite<T extends AppUser>public java.lang.String reasonForReset(T user)
PasswordAuthCompositePasswordAuthComposite.mustResetPassword(AppUser) returned true.reasonForReset in class PasswordAuthComposite<T extends AppUser>public void anonymise(T target)
anonymise in interface AnonymisingComposite<T extends AppUser>