コード例 #1
0
        private static async Task <bool> AdminAlreadyExists(UserManager <ApplicationUser> userManager,
                                                            AdminAccountOptions adminAccountOptions)
        {
            var existingAdminUser = await userManager.FindByNameAsync(adminAccountOptions.UserName);

            return(existingAdminUser is null ? false : true);
        }
コード例 #2
0
        private static async Task CreateAdminAccount(UserManager <ApplicationUser> userManager,
                                                     AdminAccountOptions adminAccountOptions)
        {
            var adminUser = new ApplicationUser
            {
                UserName = adminAccountOptions.UserName,
                Email    = adminAccountOptions.Email
            };
            await userManager.CreateAsync(adminUser, adminAccountOptions.Password);

            await userManager.AddToRoleAsync(adminUser, Roles.Admin);
        }
 /// <summary>
 /// Constructor. Performs migration and data seed.
 /// </summary>
 /// <param name="userManager">User manager.</param>
 /// <param name="roleManager">Role manager.</param>
 /// <param name="dbContext">Database context.</param>
 /// <param name="environment">Environment.</param>
 /// <param name="adminOptions">Admin options.</param>
 public DatabaseInitializer(
     UserManager <User> userManager,
     RoleManager <Role> roleManager,
     ApplicationDbContext dbContext,
     IHostingEnvironment environment,
     IOptions <AdminAccountOptions> adminOptions)
 {
     this.userManager  = userManager;
     this.dbContext    = dbContext;
     this.environment  = environment;
     this.roleManager  = roleManager;
     this.adminOptions = adminOptions.Value;
 }
コード例 #4
0
        /// <summary>
        /// Creates real admin user in DB.
        /// </summary>
        /// <param name="userManager">User manager.</param>
        /// <param name="adminCredentials">Admin credentials.</param>
        public static async Task SeedRealAdminUserAsync(AdminAccountOptions adminCredentials, UserManager <User> userManager)
        {
            if (!await userManager.Users.AnyAsync())
            {
                var adminUser = new User
                {
                    FirstName = "Admin",
                    LastName  = "Admin",
                    UserName  = adminCredentials.Email,
                    Email     = adminCredentials.Password,
                };

                await userManager.CreateAsync(adminUser, AdminPassword);

                await userManager.AddToRoleAsync(adminUser, UserRoles.Admin.ToString());
            }
        }