コード例 #1
0
        private EasyUserProfile ToUserProfile(EasyUser user)
        {
            var manageUserClaim     = AmbsenyManageUserClaims.None;
            var userClaimCollection = userManager.GetClaimsAsync(user).Result.Where(x => x.Type == AmbsenyClaimTypes.ManageUsers.ToString());

            if (userClaimCollection.Any())
            {
                var claimValue = userClaimCollection.First().Value;
                if (Enum.IsDefined(typeof(AmbsenyManageUserClaims), claimValue))
                {
                    manageUserClaim = (AmbsenyManageUserClaims)Enum.Parse(typeof(AmbsenyManageUserClaims), claimValue);
                }
            }

            return(new EasyUserProfile
            {
                Id = user.Id,
                ManageUserValue = manageUserClaim,
                Name = user.Name
            });
        }
コード例 #2
0
        public async Task <IActionResult> Register(CreateEasyUser user)
        {
            //user usernormalizer dependency
            var normalizedName = user.Name.ToUpper();
            var easyUser       = new EasyUser {
                Name = user.Name, NormalizedName = normalizedName
            };
            var creationResult = await userManager.CreateAsync(easyUser, user.Password);

            if (creationResult.Succeeded)
            {
                await signInManager.SignInAsync(easyUser, false);

                return(Redirect("/Home"));
            }
            else
            {
                //use name validation to output
                var errorMessage = creationResult.Errors.First().Description;
                ModelState.AddModelError(nameof(user.Name), errorMessage);
            }
            return(View(user));
        }
コード例 #3
0
        private static void Seed(EasyUserDbContext dbContext, PasswordHasher <EasyUser> passwordHasher)
        {
            var admin = new EasyUser
            {
                Id             = Guid.NewGuid().ToString(),
                NormalizedName = "admin".ToUpper(),
                Name           = "admin"
            };

            admin.PasswordHash = passwordHasher.HashPassword(admin, "admin");
            var bob = new EasyUser
            {
                Id             = Guid.NewGuid().ToString(),
                NormalizedName = "bob".ToUpper(),
                Name           = "bob"
            };

            bob.PasswordHash = passwordHasher.HashPassword(bob, "bob");
            var alice = new EasyUser
            {
                Id             = Guid.NewGuid().ToString(),
                NormalizedName = "alice".ToUpper(),
                Name           = "alice",
            };

            alice.PasswordHash = passwordHasher.HashPassword(alice, "alice");
            dbContext.Users.AddRange(admin, alice, bob);
            var claims = new List <UserClaim>
            {
                new UserClaim
                {
                    Id         = Guid.NewGuid(),
                    UserId     = admin.Id,
                    ClaimType  = ClaimTypes.Sid,
                    ClaimValue = admin.Id
                },
                new UserClaim
                {
                    Id         = Guid.NewGuid(),
                    UserId     = admin.Id,
                    ClaimType  = AmbsenyClaimTypes.ManageUsers.ToString(),
                    ClaimValue = AmbsenyManageUserClaims.Administrate.ToString()
                },
                new UserClaim
                {
                    Id         = Guid.NewGuid(),
                    UserId     = bob.Id,
                    ClaimType  = ClaimTypes.Sid,
                    ClaimValue = bob.Id
                },
                new UserClaim
                {
                    Id         = Guid.NewGuid(),
                    UserId     = bob.Id,
                    ClaimType  = AmbsenyClaimTypes.ManageUsers.ToString(),
                    ClaimValue = AmbsenyManageUserClaims.Review.ToString()
                },
                new UserClaim
                {
                    Id         = Guid.NewGuid(),
                    UserId     = alice.Id,
                    ClaimType  = ClaimTypes.Sid,
                    ClaimValue = alice.Id
                },
                new UserClaim
                {
                    Id         = Guid.NewGuid(),
                    UserId     = alice.Id,
                    ClaimType  = AmbsenyClaimTypes.ManageUsers.ToString(),
                    ClaimValue = AmbsenyManageUserClaims.Edit.ToString()
                }
            };

            dbContext.UserClaims.AddRange(claims);
            dbContext.SaveChanges();
        }