Exemple #1
0
        public async Task Users()
        {
            var roleStore = new RoleStore <AppRole>(_context);
            var userStore = new UserStore <AppUser>(_context);

            if (!_context.AppUserRole.Any())
            {
                if (!_context.Users.Any())
                {
                    if (!_context.AppRole.Any())
                    {
                        var applicationRoles = new List <AppRole> {
                        };
                        foreach (var item in RoleData.AppRoles)
                        {
                            applicationRoles.Add(
                                new AppRole
                            {
                                CreatedDate    = DateTime.Now,
                                Name           = item,
                                Description    = "",
                                NormalizedName = item.ToLower()
                            });
                        }
                        ;

                        foreach (var role in applicationRoles)
                        {
                            await _context.AppRole.AddAsync(role)
                            .ConfigureAwait(false);
                        }
                        await _context.SaveChangesAsync().ConfigureAwait(false);
                    }

                    var users = new UserInitializerVM[]
                    {
                        new UserInitializerVM
                        {
                            Name   = "WebMaster",
                            Email  = "*****@*****.**",
                            Roles  = RoleData.AppRoles.ToArray(),
                            Key    = "34#$erERdfDFcvCV",
                            Image  = "/images/logo.svg",
                            Rating = 10,
                            Claims = ClaimData.UserClaims.ToArray()
                        },
                    };

                    foreach (var item in users)
                    {
                        var user = new AppUser
                        {
                            UserName           = item.Name,
                            NormalizedUserName = _normalizer.Normalize(item.Name),
                            Email           = item.Email,
                            NormalizedEmail = _normalizer.Normalize(item.Email),
                            EmailConfirmed  = true,
                            LockoutEnabled  = false,
                            SecurityStamp   = Guid.NewGuid().ToString(),
                            ProfileImageUrl = item.Image
                        };

                        var hasher         = new PasswordHasher <AppUser>();
                        var hashedPassword = hasher.HashPassword(user, item.Key);
                        user.PasswordHash = hashedPassword;

                        foreach (var claim in item.Claims)
                        {
                            user.Claims.Add(new IdentityUserClaim <string>
                            {
                                ClaimType  = claim,
                                ClaimValue = claim
                            });
                        }
                        foreach (var role in item.Roles)
                        {
                            var roller = _context.Roles.SingleOrDefault(r => r.Name == role);
                            user.Roles.Add(new IdentityUserRole <string>
                            {
                                UserId = user.Id,
                                RoleId = roller.Id
                            });
                        }
                        await _context.Users.AddAsync(user)
                        .ConfigureAwait(false);
                    }
                    await _context.SaveChangesAsync()
                    .ConfigureAwait(false);
                }
            }
            return;
        }
Exemple #2
0
        public async Task Users()
        {
            using var roleStore = new RoleStore <AppRole>(_context);
            using var userStore = new UserStore <AppUser>(_context);
            if (!_context.AppUserRole.Any())
            {
                if (!_context.Users.Any())
                {
                    if (!_context.AppRole.Any())
                    {
                        var applicationRoles = new List <AppRole>();
                        foreach (var item in RoleData.AppRoles)
                        {
                            applicationRoles.Add(
                                new AppRole
                            {
                                CreatedDate    = DateTime.Now,
                                Name           = item,
                                Description    = "",
                                NormalizedName = _normalizer.NormalizeName(item)
                            });
                        }
                        ;

                        foreach (var role in applicationRoles)
                        {
                            await _context.AppRole
                            .AddAsync(role)
                            .ConfigureAwait(false);
                        }
                        await _context.SaveChangesAsync()
                        .ConfigureAwait(false);
                    }
                    var users   = new List <UserInitializerVM>();
                    var userPer = new UserInitializerVM
                    {
                        Name     = "PER",
                        Email    = "*****@*****.**",
                        Key      = "per2018",
                        ImageUri = new Uri("~/images/ico/mejillondechile.svg", UriKind.Relative)
                    };
                    userPer.Roles.Add(RoleData.AppRoles.ElementAt(0));
                    userPer.Plataforma.Add(Plataforma.mytilidb);
                    userPer.Claims.Add("per");
                    users.Add(userPer);
                    var userMitilidb = new UserInitializerVM
                    {
                        Name     = "MytiliDB",
                        Email    = "*****@*****.**",
                        Key      = "sivisam2016",
                        ImageUri = new Uri("~/images/ico/bibliomit.svg", UriKind.Relative)
                    };
                    userMitilidb.Roles.Add(RoleData.AppRoles.ElementAt(0));
                    userMitilidb.Plataforma.Add(Plataforma.mytilidb);
                    userMitilidb.Claims.Add("mitilidb");
                    users.Add(userMitilidb);
                    var userWebmaster = new UserInitializerVM
                    {
                        Name     = "WebMaster",
                        Email    = "*****@*****.**",
                        Key      = "34#$erERdfDFcvCV",
                        ImageUri = new Uri("~/images/ico/bibliomit.svg", UriKind.Relative),
                        Rating   = 10
                    };
                    userWebmaster.Roles.AddRange(RoleData.AppRoles);
                    userWebmaster.Plataforma.AddRange(EnumUtils.Enum2List <Plataforma>());
                    userWebmaster.Claims.AddRange(ClaimData.UserClaims);
                    users.Add(userWebmaster);
                    var userSernapesca = new UserInitializerVM
                    {
                        Name     = "Sernapesca",
                        Email    = "*****@*****.**",
                        Key      = "sernapesca2018",
                        ImageUri = new Uri("~/images/ico/bibliomit.svg", UriKind.Relative)
                    };
                    userSernapesca.Roles.Add(RoleData.AppRoles.ElementAt(0));
                    userSernapesca.Plataforma.Add(Plataforma.boletin);
                    userSernapesca.Claims.Add("sernapesca");
                    users.Add(userSernapesca);
                    var userIntemit = new UserInitializerVM
                    {
                        Name     = "Intemit",
                        Email    = "*****@*****.**",
                        Key      = "intemit2018",
                        ImageUri = new Uri("~/images/ico/bibliomit.svg", UriKind.Relative)
                    };
                    userIntemit.Roles.Add(RoleData.AppRoles.ElementAt(0));
                    userIntemit.Plataforma.Add(Plataforma.psmb);
                    userIntemit.Claims.Add("intemit");
                    users.Add(userIntemit);

                    foreach (var item in users)
                    {
                        var user = new AppUser
                        {
                            UserName           = item.Name,
                            NormalizedUserName = _normalizer.NormalizeName(item.Name),
                            Email           = item.Email,
                            NormalizedEmail = _normalizer.NormalizeEmail(item.Email),
                            EmailConfirmed  = true,
                            LockoutEnabled  = false,
                            SecurityStamp   = Guid.NewGuid().ToString(),
                            ProfileImageUrl = item.ImageUri
                        };

                        user.NormalizedUserName = _normalizer
                                                  .NormalizeName(user.UserName);
                        var hasher         = new PasswordHasher <AppUser>();
                        var hashedPassword = hasher.HashPassword(user, item.Key);
                        user.PasswordHash = hashedPassword;

                        foreach (var claim in item.Claims)
                        {
                            user.Claims.Add(new IdentityUserClaim <string>
                            {
                                ClaimType  = claim,
                                ClaimValue = claim
                            });
                        }

                        foreach (var role in item.Roles)
                        {
                            var roller = await _context.Roles
                                         .SingleOrDefaultAsync(r => r.Name == role)
                                         .ConfigureAwait(false);

                            user.Roles.Add(new IdentityUserRole <string>
                            {
                                UserId = user.Id,
                                RoleId = roller.Id
                            });
                        }
                        await _context.Users.AddAsync(user)
                        .ConfigureAwait(false);
                    }
                    await _context.SaveChangesAsync()
                    .ConfigureAwait(false);
                }
            }
            return;
        }
Exemple #3
0
        public async Task User()
        {
            var roleStore = new RoleStore <ApplicationRole>(_context);
            var userStore = new UserStore <ApplicationUser>(_context);

            if (!_context.ApplicationUserRoles.Any())
            {
                if (!_context.Users.Any())
                {
                    if (!_context.ApplicationRoles.Any())
                    {
                        var applicationRoles = new List <ApplicationRole> {
                        };
                        foreach (var item in RoleData.AppRoles)
                        {
                            applicationRoles.Add(
                                new ApplicationRole
                            {
                                CreatedDate    = DateTime.Now,
                                Name           = item,
                                Description    = "",
                                NormalizedName = item.ToLower()
                            });
                        }
                        ;

                        foreach (var role in applicationRoles)
                        {
                            await _context.ApplicationRoles.AddAsync(role).ConfigureAwait(false);
                        }
                        await _context.SaveChangesAsync().ConfigureAwait(false);
                    }

                    var users = new UserInitializerVM[]
                    {
                        new UserInitializerVM
                        {
                            Name   = "Guillermo Rodriguez",
                            Email  = "*****@*****.**",
                            Roles  = RoleData.AppRoles.ToArray(),
                            Key    = "mareb2018",
                            Image  = "/images/ico/capia.svg",
                            Claims = ClaimData.UserClaims.ToArray()
                        }
                    };

                    foreach (var item in users)
                    {
                        var user = new ApplicationUser
                        {
                            UserName           = item.Name,
                            NormalizedUserName = item.Name.ToLower(),
                            Email           = item.Email,
                            NormalizedEmail = item.Email.ToLower(),
                            EmailConfirmed  = true,
                            LockoutEnabled  = false,
                            SecurityStamp   = Guid.NewGuid().ToString(),
                            ProfileImageUrl = item.Image
                        };

                        var hasher         = new PasswordHasher <ApplicationUser>();
                        var hashedPassword = hasher.HashPassword(user, item.Key);
                        user.PasswordHash = hashedPassword;

                        foreach (var claim in item.Claims)
                        {
                            user.Claims.Add(new IdentityUserClaim <string>
                            {
                                ClaimType  = claim,
                                ClaimValue = claim
                            });
                        }
                        await _context.Users.AddAsync(user).ConfigureAwait(false);

                        await _context.SaveChangesAsync().ConfigureAwait(false);

                        foreach (var role in item.Roles)
                        {
                            var roller = _context.Roles.SingleOrDefault(r => r.Name == role);
                            user.Roles.Add(new IdentityUserRole <string>
                            {
                                UserId = user.Id,
                                RoleId = roller.Id
                            });
                        }
                        _context.Update(user);
                        await _context.SaveChangesAsync().ConfigureAwait(false);
                    }
                }
            }
            return;
        }