我正在为我的应用程序使用身份 2.0,并希望将数据功能移动到存储库层,例如以下代码:
public class ApplicationDbInitializer : DropCreateDatabaseIfModelChanges<ApplicationDbContext> {
protected override void Seed(ApplicationDbContext context) {
InitializeIdentityForEF(context);
base.Seed(context);
}
//Create User=Admin@Admin.com with password=Admin@123456 in the Admin role
public static void InitializeIdentityForEF(ApplicationDbContext db) {
var userManager = HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>();
var roleManager = HttpContext.Current.GetOwinContext().Get<ApplicationRoleManager>();
现在问题HttpContext
不在存储库层中,您必须将其传递给该层。但即使你这样做,调用也应该来自该Web
层。但是您不想userManager
在每次调用其他层时都包含在内。任何解决方案?