Asp.net identity 在ASP.NET Core中向Autofac注册UserManager

Asp.net identity 在ASP.NET Core中向Autofac注册UserManager,asp.net-identity,autofac,asp.net-core-mvc,Asp.net Identity,Autofac,Asp.net Core Mvc,我刚刚注意到,自MVC5以来,UserManager发生了变化。我的问题是:如何在ASP.NET Core中的Autofac中注册UserManager?使用ASP.NET Core,在许多情况下,公开的ASP.NET库在应用程序启动时,在ConfigureServices期间向IServiceCollection注册内容,而不是专门向DI容器注册 调用时,它返回一个IdentityBuilder,您可以在此基础上配置其他(或替换)依赖项 允许您指定替换用户管理器类型 当您使用Populate方

我刚刚注意到,自MVC5以来,UserManager发生了变化。我的问题是:如何在ASP.NET Core中的Autofac中注册UserManager?

使用ASP.NET Core,在许多情况下,公开的ASP.NET库在应用程序启动时,在
ConfigureServices
期间向
IServiceCollection
注册内容,而不是专门向DI容器注册

调用时,它返回一个
IdentityBuilder
,您可以在此基础上配置其他(或替换)依赖项

允许您指定替换用户管理器类型

当您使用
Populate
方法()将
IServiceCollection
附加到Autofac时,
IServiceCollection
注册将被推送到Autofac

如果您强烈认为需要直接在Autofac中注册您的UserManager,请在调用
builder.Populate(services)
并将其注册为一个开放的泛型(因为
UserManager
expected也是一个开放的泛型)

请注意,新的
UserManager
比旧的有更多的扩展点,因此您可能不需要更换整个UserManager-您可以只交换所需的一小部分覆盖功能

关于这方面的文档非常少,而且仍在更改中,因此我建议浏览保存所有源代码的地方