コード例 #1
0
        public async Task <IActionResult> MangClaimsToUser(String UserId)
        {
            var user = await _userManager.FindByIdAsync(UserId);

            if (user == null)
            {
                return(RedirectToAction("Error", "Error"));
            }
            //get all claims
            var ExistClaims  = ConfigClaims.AllClaims();
            var claimsInUser = await _userManager.GetClaimsAsync(user);

            //define of user calms view model contain user id an claims list
            UserClaimsViewModel model = new UserClaimsViewModel();

            model.UserId = UserId;
            foreach (var item in ExistClaims)
            {
                CustomerClaims customerClaims = new CustomerClaims();
                customerClaims.ClaimsType = item.Type;
                if (claimsInUser.Any(e => e.Value == item.Type))
                {
                    customerClaims.IsSelected = true;
                }
                model.UserClaims.Add(customerClaims);
            }
            return(View(model));
        }
        public async Task <IActionResult> GetAllClaims(string id)
        {
            var user = await _userManager.FindByIdAsync(id);

            if (user == null)
            {
                return(RedirectToAction("ShowMangeUser", "Administration"));
            }
            var ExistringClaims = ConfigClaims.GetAllClaims();
            var ClaimOfUser     = await _userManager.GetClaimsAsync(user);

            ClaimsUserViewModel Claims = new();

            Claims.UserId = id;
            foreach (var item in ExistringClaims)
            {
                CusrtomClaims cusrtomClaims = new CusrtomClaims();
                if (ClaimOfUser.Any(c => c.Type == item.Type))
                {
                    cusrtomClaims.IsSelected = true;
                }
                cusrtomClaims.ClaimsType  = item.Type;
                cusrtomClaims.ClaimsValue = item.Value;
                Claims.Claimsuser.Add(cusrtomClaims);
            }
            return(View(Claims));
        }