System.Security.Claims.ClaimsIdentity.HasClaim C# (CSharp) Method

HasClaim() public method

Determines if a claim is contained within this ClaimsIdentity.
if 'match' is null.
public HasClaim ( Predicate match ) : bool
match Predicate The function that performs the matching logic.
return bool
        public virtual bool HasClaim(Predicate<Claim> match)
        {
            if (match == null)
            {
                throw new ArgumentNullException(nameof(match));
            }

            Contract.EndContractBlock();

            foreach (Claim claim in Claims)
            {
                if (match(claim))
                {
                    return true;
                }
            }

            return false;
        }

Same methods

ClaimsIdentity::HasClaim ( System match ) : bool
ClaimsIdentity::HasClaim ( string type, string value ) : bool

Usage Example

コード例 #1
0
 public static IEnumerable<Claim> CreateRolesForClaims(ClaimsIdentity user) {
     List<Claim> claims = new List<Claim>();
     if (user.HasClaim(x => x.Type == ClaimTypes.StateOrProvince && x.Issuer == "RemoteClaims" && x.Value == "DC")
         && user.HasClaim(x => x.Type == ClaimTypes.Role && x.Value == "Employees")) {
         claims.Add(new Claim(ClaimTypes.Role, "DCStaff"));
     }
     return claims;            
 }
All Usage Examples Of System.Security.Claims.ClaimsIdentity::HasClaim