ClaimSet Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa la colección de notificaciones asociadas a una entidad.
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)
- Herencia
-
ClaimSet
- Derivado
- Atributos
- Implementaciones
Ejemplos
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
Comentarios
Una vez creada la ClaimSet clase, no se puede cambiar.
Examinar el contenido de un ClaimSet para determinados tipos de declaraciones es una tarea común al usar la autorización basada en declaraciones. Para examinar una ClaimSet en busca de reclamaciones concretas, use el método FindClaims. El método proporciona un mejor rendimiento que recorrer en iteración directamente sobre .ClaimSet
Constructores
| Nombre | Description |
|---|---|
| ClaimSet() |
Inicializa una nueva instancia de la clase ClaimSet. |
Propiedades
| Nombre | Description |
|---|---|
| Count |
Cuando se reemplaza en una clase derivada, obtiene el número de notificaciones de este conjunto de notificaciones. |
| Issuer |
Cuando se reemplaza en una clase derivada, obtiene la entidad que emitió este ClaimSet. |
| Item[Int32] |
Cuando se invalida en una clase derivada, obtiene para Claim el índice especificado. |
| System |
Obtiene un ClaimSet objeto que representa un emisor de confianza de la aplicación. |
| Windows |
Obtiene un conjunto de notificaciones que contiene identificadores de seguridad de Windows. |
Métodos
| Nombre | Description |
|---|---|
| ContainsClaim(Claim, IEqualityComparer<Claim>) |
Determina si ClaimSet contiene el objeto especificado Claimmediante el objeto especificado IEqualityComparer<T> . |
| ContainsClaim(Claim) |
Determina si contiene ClaimSet el objeto especificado Claim. |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| FindClaims(String, String) |
Cuando se reemplaza en una clase derivada, busca un Claim objeto que coincida con el tipo de notificación y los derechos especificados en ClaimSet. |
| GetEnumerator() |
Cuando se reemplaza en una clase derivada, obtiene un IEnumerator<T> objeto que se puede usar para enumerar el Claim objeto en .ClaimSet |
| GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IEnumerable.GetEnumerator() |
Obtiene un IEnumerator<T> objeto que se puede usar para enumerar el Claim objeto en .ClaimSet |
Métodos de extensión
| Nombre | Description |
|---|---|
| ToAsyncEnumerable<TSource>(IEnumerable<TSource>) |
Convierte un IEnumerable<T> en un IAsyncEnumerable<T>. |
| ToFrozenDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) |
Crea un FrozenDictionary<TKey,TValue> a partir de un IEnumerable<T> según las funciones especificadas del selector de claves y del selector de elementos. |
| ToFrozenDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Crea un FrozenDictionary<TKey,TValue> objeto a partir de una IEnumerable<T> función de selector de claves especificada. |
| ToFrozenSet<T>(IEnumerable<T>, IEqualityComparer<T>) |
Crea un FrozenSet<T> objeto con los valores especificados. |
| ToImmutableArray<TSource>(IEnumerable<TSource>) |
Crea una matriz inmutable a partir de la colección especificada. |
| ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>, IEqualityComparer<TValue>) |
Enumera y transforma una secuencia y genera un diccionario inmutable de su contenido mediante los comparadores de clave y valor especificados. |
| ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>) |
Enumera y transforma una secuencia y genera un diccionario inmutable de su contenido mediante el comparador de claves especificado. |
| ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>) |
Enumera y transforma una secuencia y genera un diccionario inmutable de su contenido. |
| ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Construye un diccionario inmutable basado en alguna transformación de una secuencia. |
| ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Construye un diccionario inmutable a partir de una colección de elementos existente, aplicando una función de transformación a las claves de origen. |
| ToImmutableHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>) |
Enumera una secuencia, genera un conjunto hash inmutable de su contenido y usa el comparador de igualdad especificado para el tipo de conjunto. |
| ToImmutableHashSet<TSource>(IEnumerable<TSource>) |
Enumera una secuencia y genera un conjunto hash inmutable de su contenido. |
| ToImmutableList<TSource>(IEnumerable<TSource>) |
Enumera una secuencia y genera una lista inmutable de su contenido. |
| ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>, IEqualityComparer<TValue>) |
Enumera y transforma una secuencia y genera un diccionario ordenado inmutable de su contenido mediante los comparadores de clave y valor especificados. |
| ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>) |
Enumera y transforma una secuencia y genera un diccionario ordenado inmutable de su contenido mediante el comparador de claves especificado. |
| ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>) |
Enumera y transforma una secuencia y genera un diccionario ordenado inmutable de su contenido. |
| ToImmutableSortedSet<TSource>(IEnumerable<TSource>, IComparer<TSource>) |
Enumera una secuencia, genera un conjunto ordenado inmutable de su contenido y usa el comparador especificado. |
| ToImmutableSortedSet<TSource>(IEnumerable<TSource>) |
Enumera una secuencia y genera un conjunto ordenado inmutable de su contenido. |