예제 #1
0
        public async Task <IHttpActionResult> AddUserToRole([FromBody] AddUserToRoleBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var role = await _roleManager.FindByNameAsync(model.RoleName);

            if (role == null)
            {
                return(NotFound());
            }
            var user = await _userManager.FindByNameAsync(model.Username);

            if (user == null)
            {
                return(NotFound());
            }
            var result = await _userManager.AddToRoleAsync(user.Id, role.Name);

            if (!result.Succeeded)
            {
                return(GetErrorResult(result));
            }
            return(Ok());
        }
예제 #2
0
        private async Task updateOtherInfoForIdentity(MyUserManager userManager, MyIdentity identity)
        {
            await userManager.UpdateNormalizedEmailAsync(identity);

            await userManager.UpdateNormalizedUserNameAsync(identity);

            await userManager.AddToRoleAsync(identity, RoleType.MEMBER.ToString());
        }
예제 #3
0
        public async Task <ActionResult> Register(RegisterInputModel model, string SelectedRole)
        {
            if (ModelState.IsValid)
            {
#if DEBUG
                Debug.WriteLine("Model is valid");
#endif
                var user = new t_User();
                user.UserName           = model.UserName;
                user.FIO                = model.FIO;
                user.Position           = model.Position;
                user.SetPasswordEnabled = model.SetPasswordEnabled;

                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
#if DEBUG
                    Debug.WriteLine("resulult is secceeded");
#endif
                    if (SelectedRole != null)
                    {
                        var result2 = await _userManager.AddToRoleAsync(user.Id, SelectedRole);

                        if (result2.Succeeded)
                        {
#if DEBUG
                            Debug.WriteLine("Roles is added");
#endif
                            return(RedirectToAction("List"));
                        }
                    }
                }/*
                  * var result = await _userManager.RegisterUserAsync(model, SelectedRole);
                  * if (result.Succeeded)
                  * {
                  #if DEBUG
                  * Debug.WriteLine("User is added!");
                  #endif
                  * return RedirectToAction("List");
                  * }*/
            }
            model.userRoles = _userManager.GetListUserRoles();
            return(View(model));
        }
예제 #4
0
        /// <summary>
        /// Añade un usuario a un rol y devuelve la lista de roles a los que pertenece.
        /// </summary>
        /// <param name="user">Usuario con el que operar</param>
        /// <param name="roleId">ID del rol que debe ser asignado</param>
        /// <returns></returns>
        public async Task <IEnumerable <MyRole> > AddToRoleAsync(MyUser user, Guid roleId)
        {
            var role = GetRol(roleId);

            if (role != null)
            {
                try
                {
                    var result = await uM.AddToRoleAsync(user, role.Name);
                } catch (Exception e)
                {
                    throw e;
                }
            }
            return(GetRolListByUser(user.Id));
        }