| File: AspNetUserManager.cs | Web Access |
| Project: src\aspnetcore\src\Identity\Core\src\Microsoft.AspNetCore.Identity.csproj (Microsoft.AspNetCore.Identity) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; namespace Microsoft.AspNetCore.Identity; /// <summary> /// Provides the APIs for managing user in a persistence store. /// </summary> /// <typeparam name="TUser">The type encapsulating a user.</typeparam> public class AspNetUserManager<TUser> : UserManager<TUser>, IDisposable where TUser : class { private readonly CancellationToken _cancel; /// <summary> /// Constructs a new instance of <see cref="AspNetUserManager{TUser}"/>. /// </summary> /// <param name="store">The persistence store the manager will operate over.</param> /// <param name="optionsAccessor">The accessor used to access the <see cref="IdentityOptions"/>.</param> /// <param name="passwordHasher">The password hashing implementation to use when saving passwords.</param> /// <param name="userValidators">A collection of <see cref="IUserValidator{TUser}"/> to validate users against.</param> /// <param name="passwordValidators">A collection of <see cref="IPasswordValidator{TUser}"/> to validate passwords against.</param> /// <param name="keyNormalizer">The <see cref="ILookupNormalizer"/> to use when generating index keys for users.</param> /// <param name="errors">The <see cref="IdentityErrorDescriber"/> used to provider error messages.</param> /// <param name="services">The <see cref="IServiceProvider"/> used to resolve services.</param> /// <param name="logger">The logger used to log messages, warnings and errors.</param> public AspNetUserManager(IUserStore<TUser> store, IOptions<IdentityOptions> optionsAccessor, IPasswordHasher<TUser> passwordHasher, IEnumerable<IUserValidator<TUser>> userValidators, IEnumerable<IPasswordValidator<TUser>> passwordValidators, ILookupNormalizer keyNormalizer, IdentityErrorDescriber errors, IServiceProvider services, ILogger<UserManager<TUser>> logger) : base(store, optionsAccessor, passwordHasher, userValidators, passwordValidators, keyNormalizer, errors, services, logger) { _cancel = services?.GetService<IHttpContextAccessor>()?.HttpContext?.RequestAborted ?? CancellationToken.None; } /// <summary> /// The cancellation token associated with the current HttpContext.RequestAborted or CancellationToken.None if unavailable. /// </summary> protected override CancellationToken CancellationToken => _cancel; }