public static bool ContainsClaim(this IEnumerable<ClaimSet> claimSets, Claim searchClaim, Claim issuerIdentityClaim, ClaimSearchMode searchMode, IEqualityComparer<Claim> comparer) { IEnumerable<ClaimSet> searchSet = GetClaimSetsCore(claimSets, issuerIdentityClaim, searchMode); foreach (ClaimSet set in searchSet) { bool found = false; if (comparer != null) { found = set.ContainsClaim(searchClaim, comparer); } else { found = set.ContainsClaim(searchClaim); } if (found) { return true; } } return false; }
private static IEnumerable <ClaimSet> GetClaimSetsCore(IEnumerable <ClaimSet> claimSets, Claim issuerIdentityClaim, ClaimSearchMode searchMode) { IEnumerable <ClaimSet> searchSet; if (searchMode == ClaimSearchMode.Issued) { searchSet = claimSets.GetClaimSetsByIssuer(issuerIdentityClaim); } else if (searchMode == ClaimSearchMode.Issuer) { searchSet = claimSets.GetIssuerClaimSets(); } else { throw new ArgumentOutOfRangeException("searchMode"); } return(searchSet); }
public static IEnumerable <Claim> FindClaims(this IEnumerable <ClaimSet> claimSets, string claimType, string right, Claim issuerIdentityClaim, ClaimSearchMode searchMode) { bool found = false; foreach (ClaimSet set in GetClaimSetsCore(claimSets, issuerIdentityClaim, searchMode)) { foreach (Claim claim in set.FindClaims(claimType, right)) { yield return(claim); found = true; } } if (!found) { throw new ClaimNotFoundException(claimType); } }
public static Claim FindClaim(this IEnumerable <ClaimSet> claimSets, string claimType, string right, Claim issuerIdentityClaim, ClaimSearchMode searchMode) { foreach (Claim claim in claimSets.FindClaims(claimType, right, issuerIdentityClaim, searchMode)) { return(claim); } throw new ClaimNotFoundException(claimType); }
public static Claim FindClaim(this IEnumerable<ClaimSet> claimSets, string claimType, ClaimSearchMode searchMode) { return claimSets.FindClaim(claimType, Rights.PossessProperty, null, searchMode); }
private static IEnumerable<ClaimSet> GetClaimSetsCore(IEnumerable<ClaimSet> claimSets, Claim issuerIdentityClaim, ClaimSearchMode searchMode) { IEnumerable<ClaimSet> searchSet; if (searchMode == ClaimSearchMode.Issued) { searchSet = claimSets.GetClaimSetsByIssuer(issuerIdentityClaim); } else if (searchMode == ClaimSearchMode.Issuer) { searchSet = claimSets.GetIssuerClaimSets(); } else { throw new ArgumentOutOfRangeException("searchMode"); } return searchSet; }
public static IEnumerable<Claim> FindClaims(this IEnumerable<ClaimSet> claimSets, string claimType, string right, Claim issuerIdentityClaim, ClaimSearchMode searchMode) { bool found = false; foreach (ClaimSet set in GetClaimSetsCore(claimSets, issuerIdentityClaim, searchMode)) { foreach (Claim claim in set.FindClaims(claimType, right)) { yield return claim; found = true; } } if (!found) { throw new ClaimNotFoundException(claimType); } }
public static Claim FindClaim(this IEnumerable<ClaimSet> claimSets, string claimType, string right, Claim issuerIdentityClaim, ClaimSearchMode searchMode) { foreach (Claim claim in claimSets.FindClaims(claimType, right, issuerIdentityClaim, searchMode)) { return claim; } throw new ClaimNotFoundException(claimType); }