Suchen von Ansprüchen in einem ClaimSetFinding Claims in a ClaimSet

Bei der Verwendung der anspruchbasierten Autorisierung muss häufig der Inhalt eines ClaimSet für bestimmte Anspruchstypen überprüft werden.Examining the content of a ClaimSet for particular types of claims is a common task when using claim-based authorization. Verwenden Sie die ClaimSet-Methode, um FindClaims auf das Vorhandensein eines bestimmten Anspruchs zu überprüfen.To examine a ClaimSet for the presence of particular claims, use the FindClaims method. Diese Methode ist leistungsstärker als eine direkte Iteration über ClaimSet.This method provides better performance than iterating directly over the ClaimSet. Im folgenden Beispiel wird diese Verwendung veranschaulicht.The following example demonstrates this usage. Beachten Sie, dass die Parameter claimType und claimRight``null sein können.Note that the claimType and claimRight parameters can be null. In diesem Fall entsprechen die Parameter allen Anspruchstypen und Anspruchsrechten.In that case, the parameters will match all claim types and claim rights.

BeispielExample

// The FindSomeClaims method looks in the provided ClaimSet for Claims of the specified type and right. 
   // It returns such Claims in a list.
public static IList<Claim> FindSomeClaims ( ClaimSet cs, string type, string right )
{
  // Create an empty list
  IList<Claim> claims = new List<Claim>();

  // Call ClaimSet.FindClaims with the specified type and right. Iterate over the result...
  foreach(Claim c in cs.FindClaims ( type, right ))
	//...adding each claim to the list
	claims.Add ( c );

  // Return the list
  return claims;
}
' The FindSomeClaims method looks in the provided ClaimSet for Claims of the specified type and right. 
' It returns such Claims in a list.
Public Shared Function FindSomeClaims(ByVal cs As ClaimSet, _
                                      ByVal type As String, _
                                      ByVal right As String) As IList(Of Claim)
    ' Create an empty list
    Dim claims As New List(Of Claim)()

    ' Call ClaimSet.FindClaims with the specified type and right. Iterate over the result...
    For Each c In cs.FindClaims(type, right)
        '...adding each claim to the list
        claims.Add(c)
    Next c

    ' Return the list
    Return claims
End Function

Siehe auchSee Also

Verwalten von Ansprüchen und Autorisierung mit dem IdentitätsmodellManaging Claims and Authorization with the Identity Model