Ejemplo n.º 1
0
        public async Task <ActionResult <bool> > AssignRoleForUser(AssignRoleDto assignRoleDto)
        {
            User user = await _userManager.FindByIdAsync(assignRoleDto.UserId);

            IdentityResult result = await _userManager.AddToRoleAsync(user, assignRoleDto.RoleName);

            return(result.Succeeded ? Ok() : BadRequest("Cannot add this role"));
        }
        public async Task <IActionResult> AssignRoleToUser(AssignRoleDto assignment)
        {
            var user = await _userManager.FindByEmailAsync(assignment.Email);

            var result = await _userManager.AddToRoleAsync(user, assignment.Role);

            if (result.Succeeded)
            {
                return(Ok("Role Assignment Successful"));
            }

            return(BadRequest("Invalid Role Assignment"));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 分配角色
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task AssignRoleAsync(AssignRoleDto input)
        {
            await _userRoleRepository.Where(a => a.UserId == input.UserId)
            .ToDelete()
            .ExecuteAffrowsAsync();

            var entities = input.RoleIds.Select(a => new UserRole
            {
                UserId = input.UserId,
                RoleId = a
            });

            await Cache.RemoveAsync(SystemCacheKeyPrefixDefinition.UserPermission + input.UserId);

            await _userRoleRepository.InsertAsync(entities);
        }
Ejemplo n.º 4
0
        public async Task <object> AssignRoles(AssignRoleDto assignRoleDto)
        {
            var user = await _userManager.FindByIdAsync(assignRoleDto.UserId);

            if (user == null || assignRoleDto.Role == null)
            {
                throw new Exception("User Not Found! ");
            }
            if (!(await _userManager.IsInRoleAsync(user, assignRoleDto.Role)))
            {
                var result = await _userManager.AddToRoleAsync(user, assignRoleDto.Role);

                return(result);
            }
            else
            {
                throw new Exception("Role Already Assigned! ");
            }
        }
Ejemplo n.º 5
0
        public override async Task UpdateAsync(int id, UpdateAdminUserDto input)
        {
            var user = await Repository.GetAsync(id);

            await _userManager.ChangeNameAsync(user, input.Name);

            await _userManager.ChangePhoneAsync(user, input.Phone);

            await _userManager.ChangeEmailAsync(user, input.Email);

            await Repository.UpdateAsync(user);

            var assignRoleDto = new AssignRoleDto
            {
                UserId  = id,
                RoleIds = input.RoleIds
            };

            await AssignRoleAsync(assignRoleDto);
        }
Ejemplo n.º 6
0
        public async Task <ServiceResponse <List <UserRoleDto> > > AssignRole(AssignRoleDto assignRoleDto)
        {
            //get userId
            User user = await _db.Users.SingleOrDefaultAsync(x => x.Username == assignRoleDto.Username);

            if (user == null)
            {
                return(ResponseResult.Failure <List <UserRoleDto> >("Not Found : User not found"));
            }
            ;

            //remove all roles
            List <UserRole> oldUserRoles = await _db.UserRoles.Where(x => x.UserId == user.Id).ToListAsync();

            _db.UserRoles.RemoveRange(oldUserRoles);

            //add new roles
            List <UserRole> userRoles = new List <UserRole>();
            Role            role;

            foreach (var roleDto in assignRoleDto.Roles)
            {
                role = await _db.Roles.SingleOrDefaultAsync(x => x.Name == roleDto.RoleName);

                if (role != null)
                {
                    userRoles.Add(new UserRole {
                        RoleId = role.Id, UserId = user.Id
                    });
                }
            }
            ;

            _db.UserRoles.AddRange(userRoles);
            await _db.SaveChangesAsync();

            var dto = _mapper.Map <List <UserRoleDto> >(userRoles);

            return(ResponseResult.Success(dto));
        }
Ejemplo n.º 7
0
 public async Task <IActionResult> AssignRoles([FromBody] AssignRoleDto assignRoleDto) => Ok(await _userService.AssignRoles(assignRoleDto));
Ejemplo n.º 8
0
        public async Task <IActionResult> AssignRole(AssignRoleDto assignRole)
        {
            var result = await _auth.AssignRole(assignRole);

            return(Ok(result));
        }
Ejemplo n.º 9
0
        public async Task <JsonResultModel <bool> > AssignRoleAsync([FromBody] AssignRoleDto input)
        {
            await _service.AssignRoleAsync(input);

            return(true.ToSuccess());
        }