// GET: /Admin/Users/ViewAllClaims /* * public ActionResult ViewAllClaims() * { * List<UserClaims> list = new List<UserClaims>(); * foreach (var claims * in UserManager.Users * .Select(a => new * { * type = a.Claims * }).Select(b => b.type.Distinct())) * { * foreach (var claim in claims) * { * UserClaims insert = new UserClaims { ClaimType = claim.ClaimType }; * if (!list.Contains(insert)) list.Add(insert); * } * } * return View(list); * } */ // GET: /Admin/EditClaims/TestUser public ActionResult EditClaims(string UserName) { if (UserName == null) { return(HttpNotFound()); } DecoratedUserAndClaims unrDecorator = (DecoratedUserAndClaims)UnityConfig.DI.Resolve(typeof(IUserAndClaims)); unrDecorator.UserNameOrId = UserName; var filter = System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public; IEnumerable <System.Reflection.FieldInfo> fields = typeof(System.Security.Claims.ClaimTypes).GetFields(filter).Where(f => f.IsLiteral); ViewBag.fields = fields; UserAndClaims unr = unrDecorator.Decorate(); return(View(unr)); }
public override dynamic Decorate() { if (AppUser == null) { throw new ArgumentException("None or unknown argument UserNameOrId specified. Make sure to set before issuing Decorate()"); } UserAndClaims userAndClaim = new UserAndClaims() { UserName = AppUser.UserName, Claims = new List <UserClaim>() }; foreach (var identityClaim in AppUser.Claims) { userAndClaim.Claims.Add(new UserClaim { UserName = AppUser.UserName, UserId = AppUser.Id, ClaimType = identityClaim.ClaimType, ClaimValue = identityClaim.ClaimValue }); } this.component = userAndClaim; return(userAndClaim); }