public async Task <IActionResult> ManageClaimsForUser(ClaimsManagementViewModel claimsManagementViewModel) { var user = await _userManager.FindByIdAsync(claimsManagementViewModel.UserId); if (user == null) { return(RedirectToAction("UserManagement", _userManager.Users)); } IdentityUserClaim <string> claim = new IdentityUserClaim <string> { ClaimType = claimsManagementViewModel.ClaimId, ClaimValue = claimsManagementViewModel.ClaimId }; user.Claims.Add(claim); var result = await _userManager.UpdateAsync(user); if (result.Succeeded) { return(RedirectToAction("UserManagement", _userManager.Users)); } ModelState.AddModelError("", "User not updated, something went wrong."); return(View(claimsManagementViewModel)); }
public async Task <IActionResult> ManageClaimsForUser(ClaimsManagementViewModel claimsManagementViewModel) { var user = await _userManager.FindByIdAsync(claimsManagementViewModel.UserId); if (user == null) { return(RedirectToAction("UserManagement", _userManager.Users)); } IdentityUserClaim <string> claim = new IdentityUserClaim <string> { ClaimType = claimsManagementViewModel.ClaimId, ClaimValue = claimsManagementViewModel.ClaimId, UserId = user.Id }; //System.Security.Claims.Claim claim = new System.Security.Claims.Claim() { }; //user.Claims.Add(claim); // Create customized claim await _userManager.AddClaimAsync(user, new Claim(claimsManagementViewModel.ClaimId.ToString(), claimsManagementViewModel.ClaimId.ToString())); var result = await _userManager.UpdateAsync(user); if (result.Succeeded) { return(RedirectToAction("UserManagement", _userManager.Users)); } ModelState.AddModelError("", "User not updated, something went wrong."); return(View(claimsManagementViewModel)); }
public async Task <ActionResult> ManageClaimsForUser(ClaimsManagementViewModel claimsManagementViewModel) { var user = await UserManager.FindByIdAsync(claimsManagementViewModel.UserId); if (user == null) { return(RedirectToAction("UserManagement", UserManager.Users)); } CustomUserClaim claim = new CustomUserClaim { UserId = user.Id, ClaimType = claimsManagementViewModel.ClaimId.ToString(), ClaimValue = claimsManagementViewModel.ClaimId.ToString() }; user.Claims.Add(claim); var result = await UserManager.UpdateAsync(user); if (result.Succeeded) { return(RedirectToAction("EditUser", new { id = claimsManagementViewModel.UserId })); } ModelState.AddModelError("", "User Update error."); return(View(claimsManagementViewModel)); }
public async Task <IActionResult> ManageClaimsForUser(ClaimsManagementViewModel claimsManagementViewModel) { var user = await _userManager.FindByIdAsync(claimsManagementViewModel.UserId); if (user == null) { return(RedirectToAction("UserManagement", _userManager.Users)); } Claim claim = new Claim(claimsManagementViewModel.ClaimId, claimsManagementViewModel.ClaimId); var resultClaim = await _userManager.AddClaimAsync(user, claim); if (resultClaim.Succeeded) { var result = await _userManager.UpdateAsync(user); if (result.Succeeded) { return(RedirectToAction("UserManagement", _userManager.Users)); } ModelState.AddModelError("", "User not updated, something went wrong."); } else { ModelState.AddModelError("", "The claim was not added to the user"); } return(View(claimsManagementViewModel)); }
//Claims public async Task <IActionResult> ManageClaimsForUser(string userId) { var user = await _userManager.FindByIdAsync(userId); if (user == null) { return(RedirectToAction("UserManagement", _userManager.Users)); } var claimsManagementViewModel = new ClaimsManagementViewModel { UserId = user.Id, AllClaimsList = BethanysPieShopClaimTypes.ClaimsList }; return(View(claimsManagementViewModel)); }
public async Task <ActionResult> ManageClaimsForUser(int userId) { var user = await UserManager.FindByIdAsync(userId); if (user == null) { return(RedirectToAction("UserManagement", UserManager.Users)); } var claimsManagementViewModel = new ClaimsManagementViewModel { UserId = user.Id, AllClaimsList = BookStoreClaimTypes.ClaimsList }; return(View(claimsManagementViewModel)); }
public async Task <IActionResult> AddClaimForUser(ClaimsManagementViewModel claimsManagementViewModel) { var user = await _userManager.FindByIdAsync(claimsManagementViewModel.UserId); if (user == null) { return(RedirectToAction("UserManagement", _userManager.Users)); } //SB: Vérifie si le user le possède déjà... var claimsForUser = await _userManager.GetClaimsAsync(user); var lastAccessedClaim = claimsForUser.FirstOrDefault(t => t.Type == claimsManagementViewModel.ClaimId); if (lastAccessedClaim == null) { IdentityUserClaim <string> claim = new IdentityUserClaim <string> { ClaimType = claimsManagementViewModel.ClaimId, ClaimValue = claimsManagementViewModel.ClaimId }; user.Claims.Add(claim); var result = await _userManager.UpdateAsync(user); if (result.Succeeded) { return(RedirectToAction("UserManagement", _userManager.Users)); } else { ModelState.AddModelError("", "Something went wrong while adding the claim for this user"); } } else { ModelState.AddModelError("", "User already has this claim, no update was executed."); } // Erreur claimsManagementViewModel.AllClaimsList = BethanysPieShopClaimTypes.ClaimsList; claimsManagementViewModel.UserClaims = claimsForUser; //claimsForUser.Select(c => c.Value).ToList(); return(View("ManageClaimsForUser", claimsManagementViewModel)); }
public async Task <IActionResult> ManageClaimsForUser(ClaimsManagementViewModel claimsManagementViewModel) { var user = await _userManager.FindByIdAsync(claimsManagementViewModel.UserId); if (user == null) { return(RedirectToAction("UserManagement", _userManager.Users)); } var result = await _userManager.AddClaimAsync(user, new Claim(claimsManagementViewModel.ClaimId, claimsManagementViewModel.ClaimId)); if (result.Succeeded) { return(RedirectToAction("UserManagement", _userManager.Users)); } ModelState.AddModelError("", "User not updated, something went wrong"); return(View(claimsManagementViewModel)); }
//Claims for user public async Task <IActionResult> ManageClaimsForUser(string userId) { var user = await _userManager.FindByIdAsync(userId); if (user == null) { return(RedirectToAction("UserManagement", _userManager.Users)); } var claims = await _userManager.GetClaimsAsync(user); var claimsManagementViewModel = new ClaimsManagementViewModel { UserId = user.Id, UserName = user.UserName, AllClaimsList = BethanysPieShopClaimTypes.ClaimsList, UserClaims = claims //claims.Select(c => c.Value).ToList() //ajout sb }; return(View(claimsManagementViewModel)); }
public async Task <IActionResult> RemoveUserClaimFromUser(ClaimsManagementViewModel claimsManagementViewModel) { var user = await _userManager.FindByIdAsync(claimsManagementViewModel.UserId); IList <Claim> claimsForUser; if (user != null) { claimsForUser = await _userManager.GetClaimsAsync(user); Claim lastAccessedClaim = claimsForUser.FirstOrDefault(t => t.Type == claimsManagementViewModel.ClaimId); if (lastAccessedClaim != null) { IdentityResult resDelete = await _userManager.RemoveClaimAsync(user, lastAccessedClaim); if (resDelete.Succeeded) { return(RedirectToAction("UserManagement")); } else { ModelState.AddModelError("", "Something went wrong while deleting the claim for this user"); } } else { ModelState.AddModelError("", "The current claim for this user does not exist. No need to remove it from him!"); } } else { return(RedirectToAction("UserManagement")); } // Erreur claimsManagementViewModel.AllClaimsList = BethanysPieShopClaimTypes.ClaimsList; claimsManagementViewModel.UserClaims = claimsForUser; //claimsForUser.Select(c => c.Value).ToList(); return(View("ManageClaimsForUser", claimsManagementViewModel)); }