Share via


UserManager<TUser> Class

Definition

Provides the APIs for managing user in a persistence store.

generic <typename TUser>
 where TUser : classpublic ref class UserManager : IDisposable
public class UserManager<TUser> : IDisposable where TUser : class
type UserManager<'User (requires 'User : null)> = class
    interface IDisposable
Public Class UserManager(Of TUser)
Implements IDisposable

Type Parameters

TUser

The type encapsulating a user.

Inheritance
UserManager<TUser>
Derived
Implements

Constructors

UserManager<TUser>(IUserStore<TUser>, IOptions<IdentityOptions>, IPasswordHasher<TUser>, IEnumerable<IUserValidator<TUser>>, IEnumerable<IPasswordValidator<TUser>>, ILookupNormalizer, IdentityErrorDescriber, IServiceProvider, ILogger<UserManager<TUser>>)

Constructs a new instance of UserManager<TUser>.

UserManager<TUser>(IUserStore<TUser>, IOptions<IdentityOptions>, IPasswordHasher<TUser>, IEnumerable<IUserValidator<TUser>>, IEnumerable<IPasswordValidator<TUser>>, ILookupNormalizer, IdentityErrorDescriber, IServiceProvider, ILogger<UserManager<TUser>>)

Constructs a new instance of UserManager<TUser>.

Fields

ChangePhoneNumberTokenPurpose

The data protection purpose used for the change phone number methods.

ConfirmEmailTokenPurpose

The data protection purpose used for the email confirmation related methods.

ResetPasswordTokenPurpose

The data protection purpose used for the reset password related methods.

Properties

CancellationToken

The cancellation token used to cancel operations.

ErrorDescriber

The IdentityErrorDescriber used to generate error messages.

KeyNormalizer

The ILookupNormalizer used to normalize things like user and role names.

Logger

The ILogger used to log messages from the manager.

Options

The IdentityOptions used to configure Identity.

PasswordHasher

The IPasswordHasher<TUser> used to hash passwords.

PasswordValidators

The IPasswordValidator<TUser> used to validate passwords.

Store

Gets or sets the persistence store the manager operates over.

SupportsQueryableUsers

Gets a flag indicating whether the backing user store supports returning IQueryable collections of information.

SupportsUserAuthenticationTokens

Gets a flag indicating whether the backing user store supports authentication tokens.

SupportsUserAuthenticatorKey

Gets a flag indicating whether the backing user store supports a user authenticator.

SupportsUserClaim

Gets a flag indicating whether the backing user store supports user claims.

SupportsUserEmail

Gets a flag indicating whether the backing user store supports user emails.

SupportsUserLockout

Gets a flag indicating whether the backing user store supports user lock-outs.

SupportsUserLogin

Gets a flag indicating whether the backing user store supports external logins.

SupportsUserPassword

Gets a flag indicating whether the backing user store supports user passwords.

SupportsUserPhoneNumber

Gets a flag indicating whether the backing user store supports user telephone numbers.

SupportsUserRole

Gets a flag indicating whether the backing user store supports user roles.

SupportsUserSecurityStamp

Gets a flag indicating whether the backing user store supports security stamps.

SupportsUserTwoFactor

Gets a flag indicating whether the backing user store supports two factor authentication.

SupportsUserTwoFactorRecoveryCodes

Gets a flag indicating whether the backing user store supports recovery codes.

Users

Returns an IQueryable of users if the store is an IQueryableUserStore

UserValidators

The IUserValidator<TUser> used to validate users.

Methods

AccessFailedAsync(TUser)

Increments the access failed count for the user as an asynchronous operation. If the failed access account is greater than or equal to the configured maximum number of attempts, the user will be locked out for the configured lockout time span.

AddClaimAsync(TUser, Claim)

Adds the specified claim to the user.

AddClaimsAsync(TUser, IEnumerable<Claim>)

Adds the specified claims to the user.

AddLoginAsync(TUser, UserLoginInfo)

Adds an external UserLoginInfo to the specified user.

AddPasswordAsync(TUser, String)

Adds the password to the specified user only if the user does not already have a password.

AddToRoleAsync(TUser, String)

Add the specified user to the named role.

AddToRolesAsync(TUser, IEnumerable<String>)

Add the specified user to the named roles.

ChangeEmailAsync(TUser, String, String)

Updates a users emails if the specified email change token is valid for the user.

ChangePasswordAsync(TUser, String, String)

Changes a user's password after confirming the specified currentPassword is correct, as an asynchronous operation.

ChangePhoneNumberAsync(TUser, String, String)

Sets the phone number for the specified user if the specified change token is valid.

CheckPasswordAsync(TUser, String)

Returns a flag indicating whether the given password is valid for the specified user.

ConfirmEmailAsync(TUser, String)

Validates that an email confirmation token matches the specified user.

CountRecoveryCodesAsync(TUser)

Returns how many recovery code are still valid for a user.

CreateAsync(TUser, String)

Creates the specified user in the backing store with given password, as an asynchronous operation.

CreateAsync(TUser)

Creates the specified user in the backing store with no password, as an asynchronous operation.

CreateSecurityTokenAsync(TUser)

Creates bytes to use as a security token from the user's security stamp.

CreateTwoFactorRecoveryCode()

Generate a new recovery code.

DeleteAsync(TUser)

Deletes the specified user from the backing store.

Dispose()

Releases all resources used by the user manager.

Dispose(Boolean)

Releases the unmanaged resources used by the role manager and optionally releases the managed resources.

FindByEmailAsync(String)

Gets the user, if any, associated with the normalized value of the specified email address. Note: Its recommended that identityOptions.User.RequireUniqueEmail be set to true when using this method, otherwise the store may throw if there are users with duplicate emails.

FindByIdAsync(String)

Finds and returns a user, if any, who has the specified userId.

FindByLoginAsync(String, String)

Retrieves the user associated with the specified external login provider and login provider key.

FindByNameAsync(String)

Finds and returns a user, if any, who has the specified user name.

GenerateChangeEmailTokenAsync(TUser, String)

Generates an email change token for the specified user.

GenerateChangePhoneNumberTokenAsync(TUser, String)

Generates a telephone number change token for the specified user.

GenerateConcurrencyStampAsync(TUser)

Generates a value suitable for use in concurrency tracking.

GenerateEmailConfirmationTokenAsync(TUser)

Generates an email confirmation token for the specified user.

GenerateNewAuthenticatorKey()

Generates a new base32 encoded 160-bit security secret (size of SHA1 hash).

GenerateNewTwoFactorRecoveryCodesAsync(TUser, Int32)

Generates recovery codes for the user, this invalidates any previous recovery codes for the user.

GeneratePasswordResetTokenAsync(TUser)

Generates a password reset token for the specified user, using the configured password reset token provider.

GenerateTwoFactorTokenAsync(TUser, String)

Gets a two factor authentication token for the specified user.

GenerateUserTokenAsync(TUser, String, String)

Generates a token for the given user and purpose.

GetAccessFailedCountAsync(TUser)

Retrieves the current number of failed accesses for the given user.

GetAuthenticationTokenAsync(TUser, String, String)

Returns an authentication token for a user.

GetAuthenticatorKeyAsync(TUser)

Returns the authenticator key for the user.

GetChangeEmailTokenPurpose(String)

Generates the token purpose used to change email.

GetClaimsAsync(TUser)

Gets a list of Claims to be belonging to the specified user as an asynchronous operation.

GetEmailAsync(TUser)

Gets the email address for the specified user.

GetLockoutEnabledAsync(TUser)

Retrieves a flag indicating whether user lockout can be enabled for the specified user.

GetLockoutEndDateAsync(TUser)

Gets the last DateTimeOffset a user's last lockout expired, if any. A time value in the past indicates a user is not currently locked out.

GetLoginsAsync(TUser)

Retrieves the associated logins for the specified .

GetPhoneNumberAsync(TUser)

Gets the telephone number, if any, for the specified user.

GetRolesAsync(TUser)

Gets a list of role names the specified user belongs to.

GetSecurityStampAsync(TUser)

Get the security stamp for the specified user.

GetTwoFactorEnabledAsync(TUser)

Returns a flag indicating whether the specified user has two factor authentication enabled or not, as an asynchronous operation.

GetUserAsync(ClaimsPrincipal)

Returns the user corresponding to the IdentityOptions.ClaimsIdentity.UserIdClaimType claim in the principal or null.

GetUserId(ClaimsPrincipal)

Returns the User ID claim value if present otherwise returns null.

GetUserIdAsync(TUser)

Gets the user identifier for the specified user.

GetUserName(ClaimsPrincipal)

Returns the Name claim value if present otherwise returns null.

GetUserNameAsync(TUser)

Gets the user name for the specified user.

GetUsersForClaimAsync(Claim)

Returns a list of users from the user store who have the specified claim.

GetUsersInRoleAsync(String)

Returns a list of users from the user store who are members of the specified roleName.

GetValidTwoFactorProvidersAsync(TUser)

Gets a list of valid two factor token providers for the specified user, as an asynchronous operation.

HasPasswordAsync(TUser)

Gets a flag indicating whether the specified user has a password.

IsEmailConfirmedAsync(TUser)

Gets a flag indicating whether the email address for the specified user has been verified, true if the email address is verified otherwise false.

IsInRoleAsync(TUser, String)

Returns a flag indicating whether the specified user is a member of the given named role.

IsLockedOutAsync(TUser)

Returns a flag indicating whether the specified user is locked out, as an asynchronous operation.

IsPhoneNumberConfirmedAsync(TUser)

Gets a flag indicating whether the specified user's telephone number has been confirmed.

NormalizeEmail(String)

Normalize email for consistent comparisons.

NormalizeKey(String)

Normalize a key (user name, email) for consistent comparisons.

NormalizeName(String)

Normalize user or role name for consistent comparisons.

RedeemTwoFactorRecoveryCodeAsync(TUser, String)

Returns whether a recovery code is valid for a user. Note: recovery codes are only valid once, and will be invalid after use.

RegisterTokenProvider(String, IUserTwoFactorTokenProvider<TUser>)

Registers a token provider.

RemoveAuthenticationTokenAsync(TUser, String, String)

Remove an authentication token for a user.

RemoveClaimAsync(TUser, Claim)

Removes the specified claim from the given user.

RemoveClaimsAsync(TUser, IEnumerable<Claim>)

Removes the specified claims from the given user.

RemoveFromRoleAsync(TUser, String)

Removes the specified user from the named role.

RemoveFromRolesAsync(TUser, IEnumerable<String>)

Removes the specified user from the named roles.

RemoveLoginAsync(TUser, String, String)

Attempts to remove the provided external login information from the specified user. and returns a flag indicating whether the removal succeed or not.

RemovePasswordAsync(TUser, CancellationToken)

Removes a user's password.

RemovePasswordAsync(TUser)

Removes a user's password.

ReplaceClaimAsync(TUser, Claim, Claim)

Replaces the given claim on the specified user with the newClaim

ResetAccessFailedCountAsync(TUser)

Resets the access failed count for the specified user.

ResetAuthenticatorKeyAsync(TUser)

Resets the authenticator key for the user.

ResetPasswordAsync(TUser, String, String)

Resets the user's password to the specified newPassword after validating the given password reset token.

SetAuthenticationTokenAsync(TUser, String, String, String)

Sets an authentication token for a user.

SetEmailAsync(TUser, String)

Sets the email address for a user.

SetLockoutEnabledAsync(TUser, Boolean)

Sets a flag indicating whether the specified user can be locked out, as an asynchronous operation.

SetLockoutEndDateAsync(TUser, Nullable<DateTimeOffset>)

Locks out a user until the specified end date has passed. Setting a end date in the past immediately unlocks a user.

SetPhoneNumberAsync(TUser, String)

Sets the phone number for the specified user.

SetTwoFactorEnabledAsync(TUser, Boolean)

Sets a flag indicating whether the specified user has two factor authentication enabled or not, as an asynchronous operation.

SetUserNameAsync(TUser, String)

Sets the given userName for the specified user.

ThrowIfDisposed()

Throws if this class has been disposed.

UpdateAsync(TUser)

Updates the specified user in the backing store.

UpdateNormalizedEmailAsync(TUser)

Updates the normalized email for the specified user.

UpdateNormalizedUserNameAsync(TUser)

Updates the normalized user name for the specified user.

UpdatePasswordHash(TUser, String, Boolean)

Updates a user's password hash.

UpdateSecurityStampAsync(TUser)

Regenerates the security stamp for the specified user.

UpdateUserAsync(TUser)

Called to update the user after validating and updating the normalized email/user name.

ValidatePasswordAsync(TUser, String)

Should return Success if validation is successful. This is called before updating the password hash.

ValidateUserAsync(TUser)

Should return Success if validation is successful. This is called before saving the user via Create or Update.

VerifyChangePhoneNumberTokenAsync(TUser, String, String)

Returns a flag indicating whether the specified user's phone number change verification token is valid for the given phoneNumber.

VerifyPasswordAsync(IUserPasswordStore<TUser>, TUser, String)

Returns a PasswordVerificationResult indicating the result of a password hash comparison.

VerifyTwoFactorTokenAsync(TUser, String, String)

Verifies the specified two factor authentication token against the user.

VerifyUserTokenAsync(TUser, String, String, String)

Returns a flag indicating whether the specified token is valid for the given user and purpose.

Applies to