为了账号安全,请及时绑定邮箱和手机立即绑定

没有类型“Microsoft.AspNetCore.Identity.UserManager”的服务

没有类型“Microsoft.AspNetCore.Identity.UserManager”的服务

C#
qq_遁去的一_1 2021-11-14 16:57:27
我在 mac 机器上使用 asp.net 核心,我试图为我的 asp.net mvc web 应用程序创建一个自定义的 ApplicationUser,它与基本 IdentityUser 一起工作得非常好。尽管遵循 Microsoft 的本指南:https://docs.microsoft.com/en-us/aspnet/core/security/authentication/add-user-data?view=aspnetcore-2.1&tabs=visual-studio我面临这个错误:{"error":"没有注册'Microsoft.AspNetCore.Identity.UserManager`1[Microsoft.AspNetCore.Identity.IdentityUser]'类型的服务。"}以下是我的代码片段:启动文件    public void ConfigureServices(IServiceCollection services)    {        services.Configure<CookiePolicyOptions>(options =>        {        // [...]        services.AddDbContext<ApplicationDbContext>(            options => options.UseSqlServer(identityDbContextConnection));        // Relevant part: influences the error        services.AddIdentity<ApplicationUser, IdentityRole>()                .AddEntityFrameworkStores<ApplicationDbContext>()        .AddDefaultTokenProviders();        services.AddMvc(config =>        {            var policy = new AuthorizationPolicyBuilder()                             .RequireAuthenticatedUser()                             .Build();            config.Filters.Add(new AuthorizeFilter(policy));        });    }应用程序用户.cs    // Add profile data for application users by adding properties to the ApplicationUser classpublic class ApplicationUser : IdentityUser{    [Required]    public string DrivingLicense { get; set; }}注册.cshtml.cspublic class RegisterModel : PageModel{    private readonly SignInManager<ApplicationUser> _signInManager;    private readonly UserManager<ApplicationUser> _userManager;    private readonly ILogger<RegisterModel> _logger;    private readonly IServiceProvider _services;    public RegisterModel(        UserManager<ApplicationUser> userManager,        SignInManager<ApplicationUser> signInManager,        ILogger<RegisterModel> logger,        IServiceProvider services    )    {        _userManager = userManager;        _signInManager = signInManager;        _logger = logger;        _services = services;    }
查看完整描述

3 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

问题出在“_LoginPartial.cshtml”中


删除这个


@using Microsoft.AspNetCore.Identity

@inject SignInManager<IdentityUser> SignInManager

@inject UserManager<IdentityUser> UserManager

添加这个


@using Microsoft.AspNetCore.Identity

@inject SignInManager<ApplicationUser> SignInManager

@inject UserManager<ApplicationUser> UserManager


查看完整回答
反对 回复 2021-11-14
?
繁花如伊

TA贡献2012条经验 获得超12个赞

在 dotnet core 2.1 中,我遇到了同样的问题,以下步骤解决了我的问题


1 ) 扩展 IdentityUser 或 IdentityRole


public class ApplicationUser : IdentityUser<Guid>

{

    public DateTime JoinTime { get; set; } = DateTime.Now;

    public DateTime DOB { get; set; } = Convert.ToDateTime("01-Jan-1900");

}

public class ApplicationRole : IdentityRole<Guid>

{

    public string Description { get; set; }

}

2)更新ApplicationDbContext类


public class ApplicationDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, Guid>

{

    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)

    {


    }

}

3) 更新 Stratup.cs 配置服务


public void ConfigureServices(IServiceCollection services)

{

    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);


    services.AddScoped<IUserClaimsPrincipalFactory<ApplicationUser>, AppClaimsPrincipalFactory>();



    services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));


    services.AddIdentity<ApplicationUser, ApplicationRole>().AddEntityFrameworkStores<ApplicationDbContext>()

        .AddDefaultUI()

        .AddDefaultTokenProviders();


}

更新 _LoginPartial.cshtml(共享 --> 查看)


@inject SignInManager<ApplicationUser> SignInManager

@inject UserManager<ApplicationUser> UserManager


查看完整回答
反对 回复 2021-11-14
?
守候你守候我

TA贡献1802条经验 获得超10个赞

核心2有同样的问题。

你需要检查一个更大的面积是在文件_ManageNav.cshtml有你有更新的订单@inject SignInManager<IdentityUser> SignInManager@inject SignInManager<YOURCUSTOMMODEL> SignInManager

希望有帮助


查看完整回答
反对 回复 2021-11-14
  • 3 回答
  • 0 关注
  • 187 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信