Beispiel #1
0
        internal static void DefaultUser(ApplicationDbContext ctx)
        {
            var userManager = new UserManager<User>(new UserStore<User>(ctx));
            var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(ctx));

            var adminUser = AppConfig.DefaultAdminAccount;
            var adminPassword = AppConfig.DefaultAdminAccountPassword;
            const string roleName = "Admin";

            var role = roleManager.FindByName(roleName);
            if (role == null)
            {
                role = new IdentityRole(roleName);
                var createRoleResult = roleManager.Create(role);
            }

            var user = userManager.FindByName(adminUser);
            if (user == null)
            {
                user = new User
                {
                    UserName = adminUser,
                    Email = adminUser,
                    LockoutEnabled = false,
                    EmailConfirmed = true,
                    UserProfile = new UserProfile()
                    {
                        Title = "N/A",
                        Forename = "System",
                        Surname = "Administrator",
                        Alias = "Sysadmin",
                        JobTitle = "Administrator"
                    }
                };
                var createUserResult = userManager.Create(user, adminPassword);
                createUserResult = userManager.SetLockoutEnabled(user.Id, false);
            }

            var rolesForUser = userManager.GetRoles(user.Id);
            if (!rolesForUser.Contains(role.Name))
            {
                var addUserToRoleResult = userManager.AddToRole(user.Id, role.Name);
            }
        }
Beispiel #2
0
 private async Task SignInAsync(User user, bool isPersistent)
 {
     AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie, DefaultAuthenticationTypes.TwoFactorCookie);
     AuthenticationManager.SignIn(new AuthenticationProperties { IsPersistent = isPersistent }, await user.GenerateUserIdentityAsync(UserManager));
 }
Beispiel #3
0
 public async Task<ActionResult> CreateUser(CreateUser model, params string[] selectedRoles)
 {
     if (!Request.IsAjaxRequest())
     {
         return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     }
     if (!ModelState.IsValid)
     {
         return Json(new { success = false, type = 1, message = "Error! Model state is not valid." }, JsonRequestBehavior.AllowGet);
     }
     var user = new User
     {
         UserName = model.Email,
         Email = model.Email,
         UserProfile = new UserProfile()
         {
             Title = model.Title,
             Forename = model.Forename,
             Surname = model.Surname,
             Alias = model.Alias,
             JobTitle = model.JobTitle
         }
     };
     var createUser = await UserManager.CreateAsync(user, model.Password);
     return Json(!createUser.Succeeded ?
         new { success = false, type = 1, message = "Error! " + createUser.Errors.FirstOrDefault() } :
         new { success = true, type = 3, message = "User created!" }, JsonRequestBehavior.AllowGet);
 }