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;
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
        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);
        }