Wt
3.3.5
|
A default implementation for password strength validation. More...
Public Types | |
enum | PasswordType { OneCharClass, TwoCharClass, PassPhrase, ThreeCharClass, FourCharClass } |
Enumeration for a password type. More... | |
![]() | |
enum | State { Invalid, InvalidEmpty, Valid } |
The state in which validated input can exist. More... | |
![]() | |
typedef void(WObject::* | Method) () |
Typedef for a WObject method without arguments. | |
Public Member Functions | |
PasswordStrengthValidator () | |
Default constructor. | |
void | setMinimumLength (PasswordType type, int length) |
Sets the minimum length for a password of a certain type. More... | |
int | minimumLength (PasswordType type) |
Returns the minimum length for a password of a certain type. More... | |
void | setMinimumPassPhraseWords (int words) |
Sets the minimum number of words for a pass phrase. More... | |
int | minimumPassPhraseWords () const |
Returns the minimum number of words for a pass phrase. More... | |
void | setMinimumMatchLength (int length) |
Sets the minimum length for a match against a known sequence or the login name / email address. More... | |
int | minimumMatchLength () const |
Returns the minimum length for a match against a known sequence. More... | |
virtual AbstractPasswordService::StrengthValidatorResult | evaluateStrength (const WString &password, const WString &loginName, const std::string &email) const |
Evaluates the strength of a password. More... | |
![]() | |
virtual Result | validate (const WString &password, const WString &loginName, const std::string &email) const |
Validates a password. More... | |
virtual Result | validate (const WString &password) const |
Validates a password. More... | |
![]() | |
WValidator (WObject *parent=0) | |
Creates a new validator. | |
WValidator (bool mandatory, WObject *parent=0) | |
Creates a new validator. More... | |
~WValidator () | |
Destructor. More... | |
void | setMandatory (bool how) |
Sets if input is mandatory. More... | |
bool | isMandatory () const |
Returns if input is mandatory. | |
void | setInvalidBlankText (const WString &text) |
Sets the message to display when a mandatory field is left blank. More... | |
WString | invalidBlankText () const |
Returns the message displayed when a mandatory field is left blank. More... | |
virtual WString | format () const |
Returns the validator format. More... | |
virtual void | createExtConfig (std::ostream &config) const |
Provides Ext-compatible config options for client-side validation. | |
virtual std::string | javaScriptValidate () const |
Creates a Javascript object that validates the input. More... | |
virtual std::string | inputFilter () const |
Returns a regular expression that filters input. More... | |
![]() | |
WObject (WObject *parent=0) | |
Create a WObject with a given parent object. More... | |
virtual | ~WObject () |
Destructor. More... | |
virtual const std::string | id () const |
Returns the (unique) identifier for this object. More... | |
virtual void | setObjectName (const std::string &name) |
Sets an object name. More... | |
virtual std::string | objectName () const |
Returns the object name. More... | |
void | resetLearnedSlots () |
Resets learned stateless slot implementations. More... | |
template<class T > | |
void | resetLearnedSlot (void(T::*method)()) |
Resets a learned stateless slot implementation. More... | |
template<class T > | |
WStatelessSlot * | implementStateless (void(T::*method)()) |
Declares a slot to be stateless and learn client-side behaviour on first invocation. More... | |
template<class T > | |
WStatelessSlot * | implementStateless (void(T::*method)(), void(T::*undoMethod)()) |
Declares a slot to be stateless and learn client-side behaviour in advance. More... | |
template<class T > | |
WStatelessSlot * | implementJavaScript (void(T::*method)(), const std::string &jsCode) |
Provides a JavaScript implementation for a method. More... | |
void | addChild (WObject *child) |
Adds a child object. More... | |
virtual void | removeChild (WObject *child) |
Removes a child object. More... | |
const std::vector< WObject * > & | children () const |
Returns the children. | |
WObject * | parent () const |
Returns the parent object. | |
Static Public Attributes | |
static const int | Disabled = std::numeric_limits<int>::max() |
Sentinel value to disable a particular check. | |
Additional Inherited Members | |
![]() | |
virtual WStatelessSlot * | getStateless (Method method) |
On-demand stateless slot implementation. More... | |
![]() | |
static WObject * | sender () |
Returns the sender of the current slot call. More... | |
A default implementation for password strength validation.
This implementation uses http://www.openwall.com/passwdqc/, a password checker commonly used to validate user account passwords in Linux/BSD distributions.
The default settings are not as restrictive as those used originally by passwdqc (which could be frustratingly restrictive for a web application). You may want to make it change the settings to demand stronger passwords for sensitive applications.
|
virtual |
Evaluates the strength of a password.
The result is an instance of StrengthValidatorResult which contains information on the validity and the strength (0 if invalid, 5 if valid) of the password together with possible messages.
The validator takes into account the user's login name and email address, to exclude passwords that are too similar to these.
Implements Wt::Auth::AbstractPasswordService::AbstractStrengthValidator.
int Wt::Auth::PasswordStrengthValidator::minimumLength | ( | PasswordType | type | ) |
Returns the minimum length for a password of a certain type.
int Wt::Auth::PasswordStrengthValidator::minimumMatchLength | ( | ) | const |
Returns the minimum length for a match against a known sequence.
int Wt::Auth::PasswordStrengthValidator::minimumPassPhraseWords | ( | ) | const |
Returns the minimum number of words for a pass phrase.
void Wt::Auth::PasswordStrengthValidator::setMinimumLength | ( | PasswordType | type, |
int | length | ||
) |
Sets the minimum length for a password of a certain type.
See the PasswordType documentation for defaults. You may disable a password of a certain class entirely using the special value Disabled.
void Wt::Auth::PasswordStrengthValidator::setMinimumMatchLength | ( | int | length | ) |
Sets the minimum length for a match against a known sequence or the login name / email address.
Irrespective of other settings, a password may be checked not to contain common sequences.
This sets the minimum number of characters which is considered as a match of a password against a known sequence. A lower length
setting is thus more stringent.
The default value is 4.
void Wt::Auth::PasswordStrengthValidator::setMinimumPassPhraseWords | ( | int | words | ) |
Sets the minimum number of words for a pass phrase.
Sets the minimum number of words for a valid pass phrase.
The default value is 3.