在 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>
我已经开发了以下 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>