Microsoft.Extensions.Identity.Stores与Microsoft.Extensions.Identity.Core和Microsoft.AspNetCore.Identity之间有什么区别?

时间:2020-03-18 08:47:09

标签: asp.net-core

我对asp.net核心标识中的三个软件包感到困惑。我不知道彼此之间有什么区别。还有我们应该使用那些?

我在GitHub中找到了此链接,但没有得到。

Difference between Microsoft.Extensions.Identity.Stores and Microsoft.AspNetCore.Identity

1 个答案:

答案 0 :(得分:4)

  • Microsoft.Extensions.Identity.Core

该程序集包含整个asp.net核心身份框架的实体定义,大致包括IdentityUserIdentityRoleIdentityUserRoleIdentityUserClaimIdentityRoleClaimIdentityUserLogin。它也可以理解为数据库表。

  • Microsoft.Extensions.Identity.Stores

此程序集主要用于对上述实体执行基本CRUD,包括用户管理(UserManager)和角色管理(RoleManager)以及可以执行的某些配置,例如用户名限制,密码验证等。特定的存储实现需要下载其他软件包,例如Microsoft.AspNetCore.Identity.EntityFrameworkCore,这是使用EF Core进行数据存储的实现。

  • Microsoft.AspNetCore.Identity

此程序集用于管理AspNetCore项目中的身份验证和授权,并且还包括AspNetCore项目中的基本配置。例如,要使用身份框架,您需要在services.AddIdentity <TUser> ()方法中执行ConfigureServices

基本的二次开发基于上述核心软件包。如果希望asp.net核心身份支持其他ORM框架(例如Dapper),则可以使用Microsoft.Extensions.Identity.Stores进行二次开发。或者如果有生意 逻辑不能满足您的特殊需求,它也是使用此软件包开发的。

如果要扩展该字段,则需要Microsoft.Extensions.Identity.Core包,并继承相关的类。