【发布时间】:2016-10-07 06:22:44
【问题描述】:
我正在尝试自定义 ASP.NET 标识以使用基于整数的键而不是字符串。代码可以编译,但是当我运行应用程序时,它会因违反类型约束而引发错误。以下是我的身份类别的外观:
public class AppUser: IdentityUser<int, AppUserClaim, AppUserRole, AppUserLogin>
{
public DateTime FirstTrip { get; set; }
}
public class AppRole : IdentityRole<int, AppUserRole, AppRoleClaim>
{
}
public class AppUserClaim : IdentityUserClaim<int>
{
}
public class AppRoleClaim : IdentityRoleClaim<int>
{
}
public class AppUserLogin : IdentityUserLogin<int>
{
}
public class AppUserRole : IdentityUserRole<int>
{
}
public class AppUserToken : IdentityUserToken<int>
{
}
我的 AppDbContext 类:
public class AppDbContext: IdentityDbContext<AppUser,AppRole, int, AppUserClaim, AppUserRole, AppUserLogin, AppRoleClaim, AppUserToken>
{
//other code
}
以下是我在 startup.cs 类中设置身份的方式:
services.AddIdentity<AppUser, AppRole>(config => //register ASPNET Identity
{
config.User.RequireUniqueEmail = true;
config.Password.RequiredLength = 8;
config.Cookies.ApplicationCookie.LoginPath = "/Auth/Login";
})
.AddEntityFrameworkStores<AppDbContext, int>();
此设置符合以下建议:
Why does this violate the type constraint?
ASP.NET identity configuration exception and that breaks dotnet.exe run process
我错过了什么?
【问题讨论】:
标签: asp.net-core asp.net-core-mvc asp.net-identity-2