如何在ASP.NET Core(不是旧版本!)中实现自定义UserStore(或自定义身份验证)。

莫吉米尔·诺瓦克

我正在尝试使用ASP.NET Core 1(2016年5月)构建新网站,并且我需要实现其他类型的登录过程(不适用于SQL Server)。

因此,我正在尝试实现MyOwnUserStore,在这里我想覆盖登录过程,但是当我启动应用程序时,结果是此异常:

InvalidOperationException:尝试激活“ LoginWebApp04.Services.MyOwnUserStore”时,无法解析类型为“ Microsoft.EntityFrameworkCore.DbContext”的服务。

我的代码很简单,新类:

public class MyOwnUserStore : UserStore<ApplicationUser>
{
    public MyOwnUserStore(DbContext context, IdentityErrorDescriber describer = null)
        : base(context, describer)
    {
    }

    ...
}

和修改Startup.cs

public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

    var idt = services.AddIdentity<ApplicationUser, IdentityRole>();
    idt.AddUserStore<MyOwnUserStore>();  // <-------------------------- HERE
    idt.AddEntityFrameworkStores<ApplicationDbContext>();
    idt.AddDefaultTokenProviders();

    services.AddMvc();

    // Add application services.
    services.AddTransient<IEmailSender, AuthMessageSender>();
    services.AddTransient<ISmsSender, AuthMessageSender>();
}

在我的新项目中,我没有做任何其他更改,并且该项目被创建为ASP.NET Core Web Application,身份验证=个人用户帐户。

那么,我需要做更多的工作才能无例外地首次运行我的应用程序吗?

我已经尝试了许多来自互联网的示例,但是发现的都已经过时了。

恩科西

DI框架不知道要为用户存储解决什么。DbContext在构造函数中更改ApplicationDbContext

public class MyOwnUserStore : UserStore<ApplicationUser> {
    public MyOwnUserStore(ApplicationDbContext context, IdentityErrorDescriber describer = null)
        : base(context, describer) {
    }
    ...
}

更改添加用户存储的顺序。您需要先添加存储的实体框架,然后再添加用户存储。

public void ConfigureServices(IServiceCollection services) {
    // Add framework services.
    services.AddDbContext<ApplicationDbContext>(options => 
        options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

    services
        .AddIdentity<ApplicationUser, IdentityRole>()
        .AddEntityFrameworkStores<ApplicationDbContext>()
        .AddUserStore<MyOwnUserStore>()  // <----MOVED AFTER ADDING EF STORES
        .AddDefaultTokenProviders();

    services.AddMvc();

    // Add application services.
    services.AddTransient<IEmailSender, AuthMessageSender>();
    services.AddTransient<ISmsSender, AuthMessageSender>();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在ASP.NET Core(不是旧版本!)中实现自定义UserStore(或自定义身份验证)。

来自分类Dev

在 Asp.Net Core 中实现自定义的 2 因素身份验证机制

来自分类Dev

NET Core中如何使用自定义策略架构实现jwt令牌库身份验证以进行授权?

来自分类Dev

ASP.Net Core中的自定义身份验证机制

来自分类Dev

ASP.NET CORE 中的自定义身份验证和更新声明

来自分类Dev

如何在ASP.NET Core中实现自定义模型验证?

来自分类Dev

如何在ASP.NET Web API 2中自定义对我自己的表集的身份验证?

来自分类Dev

在ASP.NET Core中使用Authorize属性和自定义Cookie身份验证

来自分类Dev

具有自定义身份验证类型的ASP.NET Core JWT

来自分类Dev

ASP.NET Core 3.1的自定义身份验证处理程序的授权失败?

来自分类Dev

如何在ASP.NET Core 3.1中实现自定义ValidateAntiforgeryTokenAuthorizationFilter

来自分类Dev

ASP.NET身份-自定义身份验证的步骤

来自分类Dev

ASP.NET身份-自定义身份验证的步骤

来自分类Dev

Azure MobileApp自定义身份验证VS Asp.Net身份

来自分类Dev

具有基于自定义角色的授权的ASP.Net Core 3.0 Windows身份验证

来自分类Dev

在asp.net核心中要求经过身份验证的用户,但在某些操作中需要自定义策略,需要自定义策略

来自分类Dev

Windows身份验证的ASP.NET 5自定义角色

来自分类Dev

具有自定义身份验证的ASP.NET Web API

来自分类Dev

ASP.NET Identity外部身份验证提供程序自定义图标

来自分类Dev

Asp.net 5 MVC 6自定义身份验证

来自分类Dev

没有存储的ASP.NET自定义身份验证

来自分类Dev

带有OWIN的ASP.NET Web Api-自定义身份验证

来自分类Dev

Asp.net 5 MVC 6自定义身份验证

来自分类Dev

自定义ASP.NET MVC表单身份验证

来自分类Dev

ASP.NET MVC - 自定义身份验证不起作用

来自分类Dev

自定义实现ASP.NET身份

来自分类Dev

Azure中的ASP.NET Web API:自定义身份验证筛选器以防止暴力破解?

来自分类Dev

在ASP.NET MVC5中使用自定义登录进行表单身份验证

来自分类Dev

asp.net mvc中不同用户类型的自定义身份验证和授权

Related 相关文章

  1. 1

    如何在ASP.NET Core(不是旧版本!)中实现自定义UserStore(或自定义身份验证)。

  2. 2

    在 Asp.Net Core 中实现自定义的 2 因素身份验证机制

  3. 3

    NET Core中如何使用自定义策略架构实现jwt令牌库身份验证以进行授权?

  4. 4

    ASP.Net Core中的自定义身份验证机制

  5. 5

    ASP.NET CORE 中的自定义身份验证和更新声明

  6. 6

    如何在ASP.NET Core中实现自定义模型验证?

  7. 7

    如何在ASP.NET Web API 2中自定义对我自己的表集的身份验证?

  8. 8

    在ASP.NET Core中使用Authorize属性和自定义Cookie身份验证

  9. 9

    具有自定义身份验证类型的ASP.NET Core JWT

  10. 10

    ASP.NET Core 3.1的自定义身份验证处理程序的授权失败?

  11. 11

    如何在ASP.NET Core 3.1中实现自定义ValidateAntiforgeryTokenAuthorizationFilter

  12. 12

    ASP.NET身份-自定义身份验证的步骤

  13. 13

    ASP.NET身份-自定义身份验证的步骤

  14. 14

    Azure MobileApp自定义身份验证VS Asp.Net身份

  15. 15

    具有基于自定义角色的授权的ASP.Net Core 3.0 Windows身份验证

  16. 16

    在asp.net核心中要求经过身份验证的用户,但在某些操作中需要自定义策略,需要自定义策略

  17. 17

    Windows身份验证的ASP.NET 5自定义角色

  18. 18

    具有自定义身份验证的ASP.NET Web API

  19. 19

    ASP.NET Identity外部身份验证提供程序自定义图标

  20. 20

    Asp.net 5 MVC 6自定义身份验证

  21. 21

    没有存储的ASP.NET自定义身份验证

  22. 22

    带有OWIN的ASP.NET Web Api-自定义身份验证

  23. 23

    Asp.net 5 MVC 6自定义身份验证

  24. 24

    自定义ASP.NET MVC表单身份验证

  25. 25

    ASP.NET MVC - 自定义身份验证不起作用

  26. 26

    自定义实现ASP.NET身份

  27. 27

    Azure中的ASP.NET Web API:自定义身份验证筛选器以防止暴力破解?

  28. 28

    在ASP.NET MVC5中使用自定义登录进行表单身份验证

  29. 29

    asp.net mvc中不同用户类型的自定义身份验证和授权

热门标签

归档