public CommonResult AddClaim(string userName, ClaimTypeEnum type, ClaimValueEnum value) { using (var context = ContextFactory.GetDbContext(_dbConfiguration)) { var user = context.Users .Include(x => x.Claims) .FirstOrDefault(x => x.UserName == userName); var claim = user.Claims.FirstOrDefault(x => x.ClaimType == type.ToString() && x.ClaimValue == value.ToString()); if (claim == null) { user.Claims.Add(new IdentityUserClaim<int> { UserId = user.Id, ClaimType = type.ToString(), ClaimValue = value.ToString() }); } context.SaveChanges(); } return CommonResult.Success(); }
public static IHtmlContent PartialWithClaim(this IHtmlHelper helper, string partialName, object model, ClaimsPrincipal user, ClaimTypeEnum claimType, ClaimValueEnum claimValue) { if (user.HasClaim(claimType.ToString(), claimValue.ToString())) { return helper.Partial(partialName, model: model); } else { return helper.Raw(string.Empty); } }
private Claim CreateClaimByClaimEnums(ClaimTypeEnum type, ClaimValueEnum value) { return new Claim(type.ToString(), value.ToString()); }
private bool CheckClaim(IEnumerable<Claim> claims, ClaimTypeEnum type, ClaimValueEnum value) { return claims.FirstOrDefault(x => x.Type == type.ToString() && x.Value == value.ToString()) != null; }
public CommonResult RemoveClaim(string userName, ClaimTypeEnum type, ClaimValueEnum value) { using (var context = ContextFactory.GetDbContext(_dbConfiguration)) { var user = context.Users .Include(x => x.Claims) .FirstOrDefault(x => x.UserName == userName); var claim = user.Claims.FirstOrDefault(x => x.ClaimType == type.ToString() && x.ClaimValue == value.ToString()); if (claim != null) { user.Claims.Remove(claim); } context.SaveChanges(); } return CommonResult.Success(); }