Struct lrau::user::User[][src]

pub struct User {
    pub username: String,
    pub password: String,
    pub permissions: Permissions,
    pub logged_in: Option<Instant>,
    pub expire: Option<Duration>,
}
Expand description

The User struct stores information about an individual login.

It support serde and so can be serialized to, for example, json or toml. For sql support you can convert it to a SqlUser

Fields

username: String

This is then username / id of the user

password: String

This is the password of the user.

This is stores hashed with Argon2id.

permissions: Permissionslogged_in: Option<Instant>

This stores information about wether the user is logged in or not.

expire: Option<Duration>

This is how long until the user is expire.

Implementations

Creates a new user from an existing hash.

Creates a new user. The field password is the unhashed password. After this is suplied the program will hash it using the Argon2id agorithm.

The username field is any username which you wish to identify the user by.

Permissions is a representation of the permissions for the user.

Resets a user’s password. The given password will replace whatever was given previously.

Validates a users password.

Logs a user in

Checks if the user is logged in.

This does not check if the user has expired.

Checks for a valid login. This makes sure the user is logged in and has a valid session.

Checks if a user has permissions to do something.

Note this does not check for a valid session.

Checks if the user has permissions to do something.

This function also checks if they have a valid session and will return an Err if they do not.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.