示例#1
0
        private static void InitSeedData(ConfigurationDbContext context)
        {
            if (!context.Clients.Any())
            {
                foreach (var client in InMemoryConfig.GetClients())
                {
                    context.Clients.Add(client.ToEntity());
                }
                context.SaveChanges();
            }

            if (!context.IdentityResources.Any())
            {
                foreach (var resource in InMemoryConfig.IdentityResources)
                {
                    context.IdentityResources.Add(resource.ToEntity());
                }
                context.SaveChanges();
            }

            if (!context.ApiResources.Any())
            {
                foreach (var resource in InMemoryConfig.GetApiResources())
                {
                    context.ApiResources.Add(resource.ToEntity());
                }
                context.SaveChanges();
            }

            if (!context.ApiScopes.Any())
            {
                foreach (var resource in InMemoryConfig.GetApiScopes())
                {
                    context.ApiScopes.Add(resource.ToEntity());
                }
                context.SaveChanges();
            }
        }
示例#2
0
 public static void InitData(IApplicationBuilder serviceProvider)
 {
     using (var scope = serviceProvider.ApplicationServices.CreateScope())
     {
         //初始化种子数据:配置、资源、客户端等
         scope.ServiceProvider.GetRequiredService <PersistedGrantDbContext>().Database.Migrate();
         {
             var context = scope.ServiceProvider.GetRequiredService <ConfigurationDbContext>();
             context.Database.Migrate();
             InitSeedData(context);
         }
         //初始化种子数据:用户
         {
             var context = scope.ServiceProvider.GetRequiredService <ApplicationDbContext>();
             context.Database.Migrate();
             var userManager = scope.ServiceProvider.GetRequiredService <UserManager <ApplicationUser> >();
             foreach (var user in InMemoryConfig.GetTestUser())
             {
                 var find = userManager.FindByNameAsync(user.Username).Result;
                 if (find == null)
                 {
                     ApplicationUser u = new ApplicationUser()
                     {
                         UserName = user.Username, UserInfoId = 1
                     };
                     //密码格式严格(至少一个非字母字符、至少一位0-9数字)
                     var ret = userManager.CreateAsync(u, "WinterSir123!").Result;
                     if (ret.Succeeded)
                     {
                         userManager.AddClaimsAsync(u, user.Claims);
                     }
                 }
             }
         }
     }
 }