public async Task <IActionResult> ManagerClaims(ManagerClaimsViewModel vm) { var user = await _userManager.FindByIdAsync(vm.UserId); if (user == null) { return(RedirectToAction("Index")); } var claim = new IdentityUserClaim <string> { ClaimType = vm.ClaimId, ClaimValue = vm.ClaimId }; user.Claims.Add(claim); var result = await _userManager.UpdateAsync(user); if (result.Succeeded) { return(RedirectToAction("UpdateUser", new{ id = vm.UserId })); } ModelState.AddModelError(string.Empty, "编辑用户Claims时发生错误"); return(View(vm)); }
public async Task <IActionResult> ManagerClaims(string id) { var user = await _userManager.Users.Where(x => x.Id == id) .Include(x => x.Claims).SingleOrDefaultAsync(); if (user == null) { return(RedirectToAction("Index")); } var list = ClaimTypes.AllClaimTypeList.Except(user.Claims.Select(x => x.ClaimType)).ToList(); var vm = new ManagerClaimsViewModel { UserId = id, AllClaims = list }; return(View(vm)); }