在 ASP.NET Identity 2.x 中配置自定义商店

Configure a custom store in ASP.NET Identity 2.x

我已经开发了以下 ASP.NET 身份接口的实现:IUserLoginStore<TUser>IUserClaimStore<TUser>IUserRoleStore<TUser>IUserPasswordStore<TUser>IUserSecurityStampStore<TUser>.

另外,我使用的是OWIN/Katana,所以需要在启动时通过代码进行配置

如何 provide/configure 我的自定义商店实现 ASP.NET 身份?

注意:我一直在搜索关于如何实现此目的的简单明了的教程,但找不到。

在 MVC 5.2 应用程序中创建的默认代码中,身份配置在 App_Start\IdentityConfiguration.cs 中完成。

要使用您自己的商店而不是默认商店,请更改 ApplicationUserManager.Create() 方法中的第一行。默认为

var manager = new ApplicationUserManager(
  new UserStore<ApplicationUser>(context.Get<ApplicationDbContext>()));

通过更改它,您可以注入自己的 IUserStore 实现。

如果您还想更改 ApplicationUser 类型以使用您自己的类型(或者只是将 ApplicationUser 重命名为更合适的名称,可以通过将通用参数更改为 ApplicationUserManager

public class ApplicationUserManager : UserManager<ApplicationUser>