示例#1
0
        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 }));
        }