public static ClaimsUserViewModel Parse(string s) { var result = new ClaimsUserViewModel(); foreach (Match m in Regex.Matches(s, ClaimsRegex, RegexOptions.IgnoreCase)) { if (m.Groups["IdentityClaim"].Captures.Count > 0) { result.IdendityClaim = m.Groups["IdentityClaim"].Captures[0].Value; } if (m.Groups["ClaimType"].Captures.Count > 0) { result.ClaimType = m.Groups["ClaimType"].Captures[0].Value; } if (m.Groups["ClaimValueType"].Captures.Count > 0) { result.ClaimValueType = m.Groups["ClaimValueType"].Captures[0].Value; } if (m.Groups["AuthMode"].Captures.Count > 0) { result.AuthMode = m.Groups["AuthMode"].Captures[0].Value; } if (m.Groups["OriginalIssuer"].Captures.Count > 0) { result.OriginalIssuer = m.Groups["OriginalIssuer"].Captures[0].Value; } if (m.Groups["ClaimValue"].Captures.Count > 0) { result.ClaimValue = m.Groups["ClaimValue"].Captures[0].Value; } } return(result); }
public async Task <IActionResult> GetAllClaims(ClaimsUserViewModel model) { var user = await _userManager.FindByIdAsync(model.UserId); if (user == null) { return(View()); } var userclaims = await _userManager.GetClaimsAsync(user); var RemoveClaims = await _userManager.RemoveClaimsAsync(user, userclaims); if (RemoveClaims.Succeeded) { foreach (var item in model.Claimsuser) { if (item.IsSelected) { await _userManager.AddClaimAsync(user, new Claim(item.ClaimsType, item.ClaimsValue)); } } } return(RedirectToAction("ShowMangeUser", new { Id = model.UserId })); }