我对asp.net核心标识中的三个软件包感到困惑。我不知道彼此之间有什么区别。还有我们应该使用那些?
我在GitHub中找到了此链接,但没有得到。
Difference between Microsoft.Extensions.Identity.Stores and Microsoft.AspNetCore.Identity
答案 0 :(得分:4)
该程序集包含整个asp.net核心身份框架的实体定义,大致包括IdentityUser
,IdentityRole
,IdentityUserRole
,IdentityUserClaim
,IdentityRoleClaim
,IdentityUserLogin
。它也可以理解为数据库表。
此程序集主要用于对上述实体执行基本CRUD,包括用户管理(UserManager
)和角色管理(RoleManager
)以及可以执行的某些配置,例如用户名限制,密码验证等。特定的存储实现需要下载其他软件包,例如Microsoft.AspNetCore.Identity.EntityFrameworkCore
,这是使用EF Core进行数据存储的实现。
此程序集用于管理AspNetCore项目中的身份验证和授权,并且还包括AspNetCore项目中的基本配置。例如,要使用身份框架,您需要在services.AddIdentity <TUser> ()
方法中执行ConfigureServices
。
基本的二次开发基于上述核心软件包。如果希望asp.net核心身份支持其他ORM框架(例如Dapper),则可以使用Microsoft.Extensions.Identity.Stores
进行二次开发。或者如果有生意
逻辑不能满足您的特殊需求,它也是使用此软件包开发的。
如果要扩展该字段,则需要Microsoft.Extensions.Identity.Core
包,并继承相关的类。