Wt
3.7.1
|
A user. More...
#include <Wt/Auth/User>
Public Types | |
enum | Status { Disabled, Normal } |
Enumeration for a user's account status. More... | |
enum | EmailTokenRole { VerifyEmail, LostPassword } |
Enumeration for an email token stored for the user. More... | |
Public Member Functions | |
User () | |
Default constructor. More... | |
User (const std::string &id, const AbstractUserDatabase &database) | |
Constructor. More... | |
AbstractUserDatabase * | database () const |
Returns the user database. More... | |
bool | operator== (const User &other) const |
Comparison operator. More... | |
bool | operator!= (const User &other) const |
Comparison operator. More... | |
bool | isValid () const |
Returns whether the user is valid. More... | |
const std::string & | id () const |
Returns the user id. More... | |
WString | identity (const std::string &provider) const |
Returns an identity. | |
void | addIdentity (const std::string &provider, const WString &identity) |
Adds an identity. More... | |
void | setIdentity (const std::string &provider, const WString &identity) |
Sets an identity. More... | |
void | removeIdentity (const std::string &provider) |
Removes an identity. More... | |
void | setPassword (const PasswordHash &password) const |
Sets a password. More... | |
PasswordHash | password () const |
Returns the password. More... | |
void | setEmail (const std::string &address) const |
Sets the email address. More... | |
std::string | email () const |
Returns the email address. More... | |
void | setUnverifiedEmail (const std::string &address) const |
Sets the unverified email address. More... | |
std::string | unverifiedEmail () const |
Returns the unverified email address. More... | |
Status | status () const |
Returns the account status. More... | |
void | setStatus (Status status) |
Sets the account status. More... | |
Token | emailToken () const |
Returns the email token. More... | |
EmailTokenRole | emailTokenRole () const |
Returns the email token role. More... | |
void | setEmailToken (const Token &token, EmailTokenRole role) const |
Sets an email token. More... | |
void | clearEmailToken () const |
Clears the email token. More... | |
void | addAuthToken (const Token &token) const |
Adds an authentication token. More... | |
void | removeAuthToken (const std::string &hash) const |
Removes an authentication token. More... | |
int | updateAuthToken (const std::string &hash, const std::string &newHash) const |
Updates an authentication token. More... | |
void | setAuthenticated (bool success) const |
Logs the result of an authentication attempt. More... | |
int | failedLoginAttempts () const |
Returns the number of consecutive unsuccessful login attempts. More... | |
WDateTime | lastLoginAttempt () const |
Returns the last login attempt. More... | |
A user.
This class represents a user. It is a value class that stores only the user id and a reference to an AbstractUserDatabase to access its properties.
An object can point to a valid user, or be invalid. Invalid users are typically used as return value for database queries which did not match with an existing user.
Not all methods are valid or applicable to your authentication system. See AbstractUserDatabase for a discussion.
Enumeration for a user's account status.
Enumerator | |
---|---|
Disabled | Successfully identified but not allowed to log in. |
Normal | Normal status. |
Wt::Auth::User::User | ( | ) |
Wt::Auth::User::User | ( | const std::string & | id, |
const AbstractUserDatabase & | database | ||
) |
Constructor.
Creates a user with id id
, and whose information is stored in the database
.
void Wt::Auth::User::addAuthToken | ( | const Token & | token | ) | const |
Adds an authentication token.
void Wt::Auth::User::addIdentity | ( | const std::string & | provider, |
const WString & | identity | ||
) |
Adds an identity.
Depending on whether the database supports multiple identities per provider, this may change (like setIdentity()), or add another identity to the user. For some identity providers (e.g. a 3rd party identity provider), it may be sensible to have more than one identity of the same provider for a single user (e.g. multiple email accounts managed by the same provider, that in fact identify the same user).
void Wt::Auth::User::clearEmailToken | ( | ) | const |
Clears the email token.
AbstractUserDatabase* Wt::Auth::User::database | ( | ) | const |
Returns the user database.
This returns the user database passed in the constructor, or 0 if the user is invalid, and was constructed using the default constructor.
std::string Wt::Auth::User::email | ( | ) | const |
Returns the email address.
Token Wt::Auth::User::emailToken | ( | ) | const |
Returns the email token.
User::EmailTokenRole Wt::Auth::User::emailTokenRole | ( | ) | const |
Returns the email token role.
int Wt::Auth::User::failedLoginAttempts | ( | ) | const |
Returns the number of consecutive unsuccessful login attempts.
const std::string& Wt::Auth::User::id | ( | ) | const |
Returns the user id.
This returns the id that uniquely identifies the user, and acts as a "primary key" to obtain other information for the user in the database.
bool Wt::Auth::User::isValid | ( | ) | const |
Returns whether the user is valid.
A invalid user is a sentinel value returned by methods that query the database but could not identify a matching user.
WDateTime Wt::Auth::User::lastLoginAttempt | ( | ) | const |
Returns the last login attempt.
bool Wt::Auth::User::operator!= | ( | const User & | other | ) | const |
Comparison operator.
bool Wt::Auth::User::operator== | ( | const User & | other | ) | const |
Comparison operator.
Two users are equal if they have the same identity and the same database.
PasswordHash Wt::Auth::User::password | ( | ) | const |
Returns the password.
void Wt::Auth::User::removeAuthToken | ( | const std::string & | hash | ) | const |
Removes an authentication token.
void Wt::Auth::User::removeIdentity | ( | const std::string & | provider | ) |
Removes an identity.
void Wt::Auth::User::setAuthenticated | ( | bool | success | ) | const |
Logs the result of an authentication attempt.
This changes the number of failed login attempts, and stores the current date as the last login attempt time.
void Wt::Auth::User::setEmail | ( | const std::string & | address | ) | const |
Sets the email address.
void Wt::Auth::User::setEmailToken | ( | const Token & | token, |
EmailTokenRole | role | ||
) | const |
Sets an email token.
void Wt::Auth::User::setIdentity | ( | const std::string & | provider, |
const WString & | identity | ||
) |
Sets an identity.
Unlike addIdentity() this overrides any other identity of the given provider, in case the underlying database supports multiple identities per user.
void Wt::Auth::User::setPassword | ( | const PasswordHash & | password | ) | const |
Sets a password.
void Wt::Auth::User::setStatus | ( | Status | status | ) |
Sets the account status.
void Wt::Auth::User::setUnverifiedEmail | ( | const std::string & | address | ) | const |
Sets the unverified email address.
User::Status Wt::Auth::User::status | ( | ) | const |
Returns the account status.
std::string Wt::Auth::User::unverifiedEmail | ( | ) | const |
Returns the unverified email address.
int Wt::Auth::User::updateAuthToken | ( | const std::string & | hash, |
const std::string & | newHash | ||
) | const |
Updates an authentication token.