示例#1
0
        private void CreateUserAndRoles(string email, string password, string roleName, VerhuurContext context)
        {
            var userStore   = new UserStore <ApplicationUser>(context);
            var userManager = new UserManager <ApplicationUser>(userStore);
            var roleStore   = new RoleStore <IdentityRole>(context);
            var roleManager = new RoleManager <IdentityRole>(roleStore);
            //Create user
            ApplicationUser user = userManager.FindByName(email);

            if (user == null)
            {
                user = new ApplicationUser {
                    UserName = email, Email = email, LockoutEnabled = false
                };
                IdentityResult result = userManager.Create(user, password);
                if (!result.Succeeded)
                {
                    throw new ApplicationException(result.Errors.ToString());
                }
            }

            //Create roles
            IdentityRole role = roleManager.FindByName(roleName);

            if (role == null)
            {
                role = new IdentityRole(roleName);
                IdentityResult result = roleManager.Create(role);
                if (!result.Succeeded)
                {
                    throw new ApplicationException(result.Errors.ToString());
                }
            }

            //Associate user with role
            IList <string> rolesForUser = userManager.GetRoles(user.Id);

            if (!rolesForUser.Contains(role.Name))
            {
                IdentityResult result = userManager.AddToRole(user.Id, roleName);
                if (!result.Succeeded)
                {
                    throw new ApplicationException(result.Errors.ToString());
                }
            }
        }
示例#2
0
 private void InitializeIdentityAndRoles(VerhuurContext context)
 {
     CreateUserAndRoles("*****@*****.**", "P@ssword1", "admin", context);
 }