コード例 #1
0
        public async Task <IActionResult> CreateRole(RegisterRoleViewModel model)
        {
            if (ModelState.IsValid)
            {
                // We just need to specify a unique role name to create a new role
                var identityRole = new Role
                {
                    Name = model.RoleName
                };

                // Saves the role in the underlying AspNetRoles table
                var result = await roleManager.CreateAsync(identityRole);

                if (result.Succeeded)
                {
                    return(RedirectToAction("index", "home"));
                }

                foreach (IdentityError error in result.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }
            }

            return(View(model));
        }
コード例 #2
0
        public IActionResult RegisterRole(string email)
        {
            var viewModel = new RegisterRoleViewModel
            {
                Email = email
            };

            return(View(viewModel));
        }
コード例 #3
0
ファイル: AccountController.cs プロジェクト: gersof/Kept
        public ActionResult RegisterRoles()
        {
            var viewModel = new RegisterRoleViewModel
            {
                Employees = _context.Employee.ToList(),
                Roles     = _context.AspNetRoles.ToList()
            };

            return(View(viewModel));
        }
コード例 #4
0
        public async Task <IActionResult> RegisterRole(RegisterRoleViewModel model)
        {
            Result rs = new Result();

            if (string.IsNullOrEmpty(model.RoleName))
            {
                rs.ErrorCode    = -20;
                rs.ErrorMessage = "角色名不能为空!";
                return(Json(rs));
            }
            if (string.IsNullOrEmpty(model.ClientName))
            {
                rs.ErrorCode    = -20;
                rs.ErrorMessage = "客户端标识不能为空!";
                return(Json(rs));
            }
            if (string.IsNullOrEmpty(model.Description))
            {
                rs.ErrorCode    = -20;
                rs.ErrorMessage = "角色描述不能为空!";
                return(Json(rs));
            }


            if (await _roleMangeer.RoleExistsAsync(model.RoleName))
            {
                rs.ErrorCode    = -21;
                rs.ErrorMessage = "该角色名已存在无法创建!";
                return(Json(rs));
            }
            model.RoleName    = model.RoleName.Replace(" ", "");
            model.Description = model.Description.Replace(" ", "");
            model.ClientName  = model.ClientName.Replace(" ", "");
            var role = new ApplicationRole {
                Name = model.RoleName, Description = model.Description, ClientName = model.ClientName
            };
            var result = await _roleMangeer.CreateAsync(role);

            if (result.Succeeded)
            {
                _logger.LogInformation("User created a new role.");
                rs = Result.PassResult();
            }
            else
            {
                rs = Result.ErrorResult(-20);
                rs.ErrorMessage = result.Errors.FirstOrDefault().Description;
            }
            return(Json(rs));
        }
コード例 #5
0
 public ActionResult Create(RegisterRoleViewModel role)
 {
     try
     {
         if (!string.IsNullOrEmpty(role.RoleName))
         {
             Roles.CreateRole(role.RoleName);
         }
         return(RedirectToAction("Index", "Role"));
     }
     catch (Exception)
     {
         ModelState.AddModelError("", "role name error!");
         return(View());
     }
 }
コード例 #6
0
        public IActionResult CreateRole(RegisterRoleViewModel registerRoleViewModel)
        {
            if (ModelState.IsValid)
            {
                var role = new Role()
                {
                    Id   = Guid.NewGuid(),
                    Name = registerRoleViewModel.Name,
                };

                _roleService.Add(role);

                return(Ok(role));
            }
            else
            {
                return(BadRequest());
            }
        }
コード例 #7
0
ファイル: AccountController.cs プロジェクト: gersof/Kept
        public ActionResult RegisterRoles(RegisterRoleViewModel model)
        {
            if (ModelState.IsValid)
            {
                var userRole = new AspNetUserRoles {
                    UserId = model.UserId, RoleId = model.RoleId
                };
                var role   = _context.AspNetRoles.FirstOrDefault(r => r.Id == model.RoleId);
                var result = UserManager.AddToRole(userRole.UserId, role.Name);
                if (result.Succeeded)
                {
                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
コード例 #8
0
        public ActionResult Edit(RegisterRoleViewModel model)
        {
            if (ModelState.IsValid)
            {
                roleService.Save(new Role(model.Id, model.SelectedRoleName, model.SelectedPermissionLevels));

                if (model.SelectedMenus == null)
                {
                    model.SelectedMenus = new List <Int64>();
                }

                menuService.SaveRoleMenus(model.Id, model.SelectedMenus.ToArray());

                return(RedirectToAction("Manage"));
            }
            else
            {
                return(View("Manage", new RegisterRoleViewModel(model.Id, roleService, userService, menuService)));
            }
        }
コード例 #9
0
        public async Task <IActionResult> Register(RegisterRoleViewModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            if (ModelState.IsValid)
            {
                IdentityRole role   = new IdentityRole(model.Name);
                var          result = await _roleManager.CreateAsync(role);

                if (result.Succeeded)
                {
                    _logger.LogInformation("Role created");

                    return(RedirectToLocal(returnUrl));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
コード例 #10
0
        public async Task <IActionResult> RegisterRole(RegisterRoleViewModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;

            if (ModelState.IsValid)
            {
                var currentUser = await _userManager.FindByEmailAsync(model.Email);

                currentUser.Role = model.SelectedRole;

                await _userManager.AddToRoleAsync(currentUser, model.SelectedRole);

                await _dbContext.SaveChangesAsync();

                await _signInManager.SignInAsync(currentUser, isPersistent : false);

                return(RedirectToAction(nameof(HomeController.Index), "Home"));
            }


            return(View(model));
        }