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 diesel support you can convert it to a
SqlUser, which intern supports
Queryable
, Insertable
, and Identifiable
.
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: Permissions
logged_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.
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.
pub fn get_valid_permissions<T>(
&self,
path: &[T],
mut: bool
) -> Result<bool, SessionExpired> where
String: PartialEq<T>,
pub fn get_valid_permissions<T>(
&self,
path: &[T],
mut: bool
) -> Result<bool, SessionExpired> where
String: PartialEq<T>,
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
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
Auto Trait Implementations
impl RefUnwindSafe for User
impl UnwindSafe for User
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V