ClaimSet Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente la collection de revendications associées à une entité.
public ref class ClaimSet abstract : System::Collections::Generic::IEnumerable<System::IdentityModel::Claims::Claim ^>
public abstract class ClaimSet : System.Collections.Generic.IEnumerable<System.IdentityModel.Claims.Claim>
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.xmlsoap.org/ws/2005/05/identity")]
public abstract class ClaimSet : System.Collections.Generic.IEnumerable<System.IdentityModel.Claims.Claim>
type ClaimSet = class
interface seq<Claim>
interface IEnumerable
[<System.Runtime.Serialization.DataContract(Namespace="http://schemas.xmlsoap.org/ws/2005/05/identity")>]
type ClaimSet = class
interface seq<Claim>
interface IEnumerable
Public MustInherit Class ClaimSet
Implements IEnumerable(Of Claim)
- Héritage
-
ClaimSet
- Dérivé
- Attributs
- Implémente
Exemples
public class MyServiceAuthorizationManager : ServiceAuthorizationManager
{
protected override bool CheckAccessCore(OperationContext operationContext)
{
// Extract the action URI from the OperationContext. Match this against the claims
// in the AuthorizationContext.
string action = operationContext.RequestContext.RequestMessage.Headers.Action;
Console.WriteLine("action: {0}", action);
// Iterate through the various claim sets in the AuthorizationContext.
foreach (ClaimSet cs in operationContext.ServiceSecurityContext.AuthorizationContext.ClaimSets)
{
// Examine only those claim sets issued by System.
if (cs.Issuer == ClaimSet.System)
{
// Iterate through claims of type "http://example.org/claims/allowedoperation".
foreach (Claim c in cs.FindClaims("http://example.org/claims/allowedoperation",
Rights.PossessProperty))
{
// Write the claim resource to the console.
Console.WriteLine("resource: {0}", c.Resource.ToString());
// If the claim resource matches the action URI then return true to allow access.
if (action == c.Resource.ToString())
return true;
}
}
}
// If this point is reached, return false to deny access.
return false;
}
}
Public Class MyServiceAuthorizationManager
Inherits ServiceAuthorizationManager
Protected Overrides Function CheckAccessCore(ByVal operationContext As OperationContext) As Boolean
' Extract the action URI from the OperationContext. Match this against the claims
' in the AuthorizationContext.
Dim action As String = operationContext.RequestContext.RequestMessage.Headers.Action
Console.WriteLine("action: {0}", action)
' Iterate through the various claim sets in the AuthorizationContext.
Dim cs As ClaimSet
For Each cs In operationContext.ServiceSecurityContext.AuthorizationContext.ClaimSets
' Examine only those claim sets issued by System.
If cs.Issuer Is ClaimSet.System Then
' Iterate through claims of type "http://example.org/claims/allowedoperation".
Dim c As Claim
For Each c In cs.FindClaims("http://example.org/claims/allowedoperation", Rights.PossessProperty)
' Write the claim resource to the console.
Console.WriteLine("resource: {0}", c.Resource.ToString())
' If the claim resource matches the action URI then return true to allow access
If action = c.Resource.ToString() Then
Return True
End If
Next c
End If
Next cs
'
' If this point is reached, return false to deny access.
Return False
End Function
Remarques
Une fois la ClaimSet classe créée, elle ne peut pas être modifiée.
L’examen du contenu d’un ClaimSet type particulier de revendications est une tâche courante lors de l’utilisation de l’autorisation basée sur les revendications. Pour examiner un ClaimSet pour la présence de revendications particulières, utilisez la méthode FindClaims. La méthode offre de meilleures performances que d’itérer directement sur le ClaimSet.
Constructeurs
| Nom | Description |
|---|---|
| ClaimSet() |
Initialise une nouvelle instance de la classe ClaimSet. |
Propriétés
| Nom | Description |
|---|---|
| Count |
En cas de substitution dans une classe dérivée, obtient le nombre de revendications dans cet ensemble de revendications. |
| Issuer |
En cas de substitution dans une classe dérivée, obtient l’entité qui a émis ce ClaimSet. |
| Item[Int32] |
En cas de substitution dans une classe dérivée, obtient l’index Claim spécifié. |
| System |
Obtient un ClaimSet objet qui représente un émetteur approuvé par l’application. |
| Windows |
Obtient un ensemble de revendications qui contient des identificateurs de sécurité Windows. |
Méthodes
| Nom | Description |
|---|---|
| ContainsClaim(Claim, IEqualityComparer<Claim>) |
Détermine si le ClaimSet contient, à l’aide Claimde l’objet spécifié IEqualityComparer<T> . |
| ContainsClaim(Claim) |
Détermine si le ClaimSet contient le fichier spécifié Claim. |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| FindClaims(String, String) |
En cas de substitution dans une classe dérivée, recherche un Claim objet qui correspond au type de revendication et aux droits spécifiés dans le ClaimSet. |
| GetEnumerator() |
En cas de substitution dans une classe dérivée, obtient un IEnumerator<T> qui peut être utilisé pour énumérer l’objet Claim dans le ClaimSet. |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IEnumerable.GetEnumerator() |
Obtient un IEnumerator<T> élément qui peut être utilisé pour énumérer l’objet Claim dans le ClaimSet. |