Wt: Wt::Auth::User Class Reference

Wt 3.3.0

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Hierarchy
- Class Members

Public Types | Public Member Functions
Wt::Auth::User Class Reference
Authentication module (Wt::Auth)

A user. More...

`#include <Wt/Auth/User>`

List of all members.

## 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.
| User (const std::string &id, const AbstractUserDatabase &database)
| Constructor.
AbstractUserDatabase * | database () const
| Returns the user database.
bool | operator== (const User &other) const
| Comparison operator.
bool | operator!= (const User &other) const
| Comparison operator.
bool | isValid () const
| Returns whether the user is valid.
const std::string & | id () const
| Returns the user id.
WString | identity (const std::string &provider) const
| Returns the user's identity.
void | addIdentity (const std::string &provider, const WString &identity)
| Adds (or modifies) a user's identity.
void | setPassword (const PasswordHash &password) const
| Sets a password.
PasswordHash | password () const
| Returns the password.
void | setEmail (const std::string &address) const
| Sets the email address.
std::string | email () const
| Returns the email address.
void | setUnverifiedEmail (const std::string &address) const
| Sets the unverified email address.
std::string | unverifiedEmail () const
| Returns the unverified email address.
Status | status () const
| Returns the account status.
Token | emailToken () const
| Returns the email token.
EmailTokenRole | emailTokenRole () const
| Returns the email token role.
void | setEmailToken (const Token &token, EmailTokenRole role) const
| Sets an email token.
void | clearEmailToken () const
| Clears the email token.
void | addAuthToken (const Token &token) const
| Adds an authentication token.
void | removeAuthToken (const std::string &hash) const
| Removes an authentication token.
void | setAuthenticated (bool success) const
| Logs the result of an authentication attempt.
int | failedLoginAttempts () const
| Returns the number of consecutive unsuccessful login attempts.
WDateTime | lastLoginAttempt () const
| Returns the last login attempt.

## Detailed Description

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.

See also:
  AbstractUserDatabase

## Member Enumeration Documentation

enum Wt::Auth::User::EmailTokenRole

Enumeration for an email token stored for the user.

Enumerator:

  VerifyEmail | Token is used to verify his email address.
  LostPassword | Token is used to allow the user to enter a new password.

enum Wt::Auth::User::Status

Enumeration for a user's account status.

See also:
  status()

Enumerator:

  Disabled | Successfully identified but not allowed to log in.
  Normal | Normal status.

## Constructor & Destructor Documentation

Wt::Auth::User::User | ( |  | ) |

Default constructor.

Creates an invalid user.

See also:
  isValid()

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`.

## Member Function Documentation

void Wt::Auth::User::addAuthToken | ( | const Token & | token | ) | const

Adds an authentication token.

See also:
  AbstractUserDatabase::addAuthToken()

void Wt::Auth::User::clearEmailToken | ( |  | ) | const

Clears the email token.

See also:
  setEmailToken()

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.

See also:
  AbstractUserDatabase::email()

Token Wt::Auth::User::emailToken | ( |  | ) | const

Returns the email token.

See also:
  AbstractUserDatabase::emailToken()

User::EmailTokenRole Wt::Auth::User::emailTokenRole | ( |  | ) | const

Returns the email token role.

See also:
  AbstractUserDatabase::emailTokenRole()

int Wt::Auth::User::failedLoginAttempts | ( |  | ) | const

Returns the number of consecutive unsuccessful login attempts.

See also:
  setAuthenticated()

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.

See also:
  AbstractUserDatabase

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.

See also:
  setAuthenticated()

bool Wt::Auth::User::operator!= | ( | const User & | other | ) | const

Comparison operator.

See also:
  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.

See also:
  AbstractUserDatabase::password()

void Wt::Auth::User::removeAuthToken | ( | const std::string & | hash | ) | const

Removes an authentication token.

See also:
  AbstractUserDatabase::removeAuthToken()

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.

See also:
  failedLoginAttempts(), lastLoginAttempt()

void Wt::Auth::User::setEmail | ( | const std::string & | address | ) | const

Sets the email address.

See also:
  AbstractUserDatabase::setEmail()

void Wt::Auth::User::setEmailToken | ( | const Token & | token,
|  | EmailTokenRole | role
| ) |  | const

Sets an email token.

See also:
  AbstractUserDatabase::setEmailToken()

void Wt::Auth::User::setPassword | ( | const PasswordHash & | password | ) | const

Sets a password.

See also:
  AbstractUserDatabase::setPassword()

void Wt::Auth::User::setUnverifiedEmail | ( | const std::string & | address | ) | const

Sets the unverified email address.

See also:
  AbstractUserDatabase::setUnverifiedEmail()

User::Status Wt::Auth::User::status | ( |  | ) | const

Returns the account status.

See also:
  AbstractUserDatabase::status()

std::string Wt::Auth::User::unverifiedEmail | ( |  | ) | const

Returns the unverified email address.

See also:
  AbstractUserDatabase::unverifiedEmail()

All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator