Leer en inglés

Compartir vía


WSSecurityTokenSerializer Clase

Definición

La clase utilizada para serializar y deserializar tokens de seguridad, identificadores de claves de seguridad y cláusulas de identificadores de claves de seguridad definidas en las especificaciones de seguridad WS-Security, WS-Trust y WS-SecureConversation.

C#
public class WSSecurityTokenSerializer : System.IdentityModel.Selectors.SecurityTokenSerializer
Herencia
WSSecurityTokenSerializer

Ejemplos

El código siguiente muestra una invalidación personalizada de esta clase.

C#
public class CreditCardSecurityTokenSerializer : WSSecurityTokenSerializer
{
    public CreditCardSecurityTokenSerializer(SecurityTokenVersion version) : base() { }

    protected override bool CanReadTokenCore(XmlReader reader)
    {
        XmlDictionaryReader localReader = XmlDictionaryReader.CreateDictionaryReader(reader);
        if (reader == null)
        {
            throw new ArgumentNullException("reader");
        }
        if (reader.IsStartElement(Constants.CreditCardTokenName, Constants.CreditCardTokenNamespace))
        {
            return true;
        }
        return base.CanReadTokenCore(reader);
    }

    protected override SecurityToken ReadTokenCore(XmlReader reader, SecurityTokenResolver tokenResolver)
    {
        if (reader == null)
        {
            throw new ArgumentNullException("reader");
        }
        if (reader.IsStartElement(Constants.CreditCardTokenName, Constants.CreditCardTokenNamespace))
        {
            string id = reader.GetAttribute(Constants.Id, Constants.WsUtilityNamespace);

            reader.ReadStartElement();

            // Read the credit card number.
            string creditCardNumber = reader.ReadElementString(Constants.CreditCardNumberElementName, Constants.CreditCardTokenNamespace);

            // Read the expiration date.
            string expirationTimeString = reader.ReadElementString(Constants.CreditCardExpirationElementName, Constants.CreditCardTokenNamespace);
            DateTime expirationTime = XmlConvert.ToDateTime(expirationTimeString, XmlDateTimeSerializationMode.Utc);

            // Read the issuer of the credit card.
            string creditCardIssuer = reader.ReadElementString(Constants.CreditCardIssuerElementName, Constants.CreditCardTokenNamespace);
            reader.ReadEndElement();

            CreditCardInfo cardInfo = new CreditCardInfo(creditCardNumber, creditCardIssuer, expirationTime);

            return new CreditCardToken(cardInfo, id);
        }
        else
        {
            return WSSecurityTokenSerializer.DefaultInstance.ReadToken(reader, tokenResolver);
        }
    }

    protected override bool CanWriteTokenCore(SecurityToken token)
    {
        if (token is CreditCardToken)
        {
            return true;
        }
        else
        {
            return base.CanWriteTokenCore(token);
        }
    }

    protected override void WriteTokenCore(XmlWriter writer, SecurityToken token)
    {
        if (writer == null)
        {
            throw new ArgumentNullException("writer");
        }
        if (token == null)
        {
            throw new ArgumentNullException("token");
        }

        CreditCardToken c = token as CreditCardToken;
        if (c != null)
        {
            writer.WriteStartElement(Constants.CreditCardTokenPrefix, Constants.CreditCardTokenName, Constants.CreditCardTokenNamespace);
            writer.WriteAttributeString(Constants.WsUtilityPrefix, Constants.Id, Constants.WsUtilityNamespace, token.Id);
            writer.WriteElementString(Constants.CreditCardNumberElementName, Constants.CreditCardTokenNamespace, c.CardInfo.CardNumber);
            writer.WriteElementString(Constants.CreditCardExpirationElementName, Constants.CreditCardTokenNamespace, XmlConvert.ToString(c.CardInfo.ExpirationDate, XmlDateTimeSerializationMode.Utc));
            writer.WriteElementString(Constants.CreditCardIssuerElementName, Constants.CreditCardTokenNamespace, c.CardInfo.CardIssuer);
            writer.WriteEndElement();
            writer.Flush();
        }
        else
        {
            base.WriteTokenCore(writer, token);
        }
    }
}

Constructores

Propiedades

DefaultInstance

Obtiene una instancia predeterminada de esta clase.

EmitBspRequiredAttributes

Obtiene un valor que indica si se van a emitir los atributos BSP requeridos.

MaximumKeyDerivationLabelLength

Obtiene la longitud de etiqueta de derivación de clave máxima.

MaximumKeyDerivationNonceLength

Obtiene la longitud del valor de seguridad de derivación de clave máxima.

MaximumKeyDerivationOffset

Obtiene el desplazamiento de derivación de clave máximo.

SecurityVersion

Obtiene la versión de seguridad.

Métodos

CanReadKeyIdentifier(XmlReader)

Determina si este serializador puede leer el elemento <KeyIdentifier> al que hace referencia el lector especificado XML.

(Heredado de SecurityTokenSerializer)
CanReadKeyIdentifierClause(XmlReader)

Determina si el serializador puede leer una cláusula en un elemento <KeyIdentifier> al que el lector XML especificado hace referencia.

(Heredado de SecurityTokenSerializer)
CanReadKeyIdentifierClauseCore(XmlReader)

Obtiene un valor que indica si el núcleo de cláusula identificador clave se puede leer utilizando el lector especificado.

CanReadKeyIdentifierCore(XmlReader)

Obtiene un valor que indica si el núcleo identificador clave se puede leer utilizando el lector especificado.

CanReadToken(XmlReader)

Determina si este serializador puede leer el token de seguridad que señala el lector XML especificado.

(Heredado de SecurityTokenSerializer)
CanReadTokenCore(XmlReader)

Obtiene un valor que indica si el núcleo del token se puede leer utilizando el lector especificado.

CanWriteKeyIdentifier(SecurityKeyIdentifier)

Determina si este serializador puede escribir el identificador clave especificado.

(Heredado de SecurityTokenSerializer)
CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

Determina si este serializador puede escribir la cláusula del identificador de la clave especificado.

(Heredado de SecurityTokenSerializer)
CanWriteKeyIdentifierClauseCore(SecurityKeyIdentifierClause)

Obtiene un valor que indica si se puede escribir el núcleo de cláusula identificador clave con una cláusula identificador clave especificada.

CanWriteKeyIdentifierCore(SecurityKeyIdentifier)

Obtiene un valor que indica si se puede escribir el núcleo identificador clave con una cláusula identificador clave especificada.

CanWriteToken(SecurityToken)

Determina si este serializador puede escribir el token de seguridad especificado en XML.

(Heredado de SecurityTokenSerializer)
CanWriteTokenCore(SecurityToken)

Obtiene un valor que indica si se puede escribir el núcleo del token con un token de seguridad especificado.

CreateKeyIdentifierClauseFromTokenXml(XmlElement, SecurityTokenReferenceStyle)

Crea una cláusula identificador clave a partir de un token expresado como XML.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetTokenTypeUri(Type)

Obtiene el identificador URI del token de seguridad del tipo especificado.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ReadKeyIdentifier(XmlReader)

Lee el identificador clave mediante el lector especificado XML.

(Heredado de SecurityTokenSerializer)
ReadKeyIdentifierClause(XmlReader)

Lee la cláusula de identificador clave mediante el lector especificado XML.

(Heredado de SecurityTokenSerializer)
ReadKeyIdentifierClauseCore(XmlReader)

Lee el núcleo de cláusula identificador clave mediante el XmlReaderespecificado.

ReadKeyIdentifierCore(XmlReader)

Lee el núcleo identificador clave mediante el XmlReaderespecificado.

ReadToken(XmlReader, SecurityTokenResolver)

Lee el token de seguridad señalado por el lector especificado XML .

(Heredado de SecurityTokenSerializer)
ReadTokenCore(XmlReader, SecurityTokenResolver)

Lee el núcleo del token mediante el XmlReaderespecificado.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
TryCreateKeyIdentifierClauseFromTokenXml(XmlElement, SecurityTokenReferenceStyle, SecurityKeyIdentifierClause)

Intenta crear una cláusula de identificador de clave a partir de un token expresado como XML.

WriteKeyIdentifier(XmlWriter, SecurityKeyIdentifier)

Escribe el identificador clave especificado mediante el sistema de escritura especificado XML.

(Heredado de SecurityTokenSerializer)
WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

Escribe la cláusula de identificador clave especificado mediante el sistema de escritura especificado XML.

(Heredado de SecurityTokenSerializer)
WriteKeyIdentifierClauseCore(XmlWriter, SecurityKeyIdentifierClause)

Escribe el núcleo de cláusula identificador clave con una cláusula identificador clave especificada utilizando el XmlWriterespecificado.

WriteKeyIdentifierCore(XmlWriter, SecurityKeyIdentifier)

Escribe el núcleo del identificador clave con una cláusula identificador clave especificada utilizando el XmlWriterespecificado.

WriteToken(XmlWriter, SecurityToken)

Escribe el token de seguridad especificado mediante el sistema de escritura especificado XML.

(Heredado de SecurityTokenSerializer)
WriteTokenCore(XmlWriter, SecurityToken)

Escribe el núcleo del token con un token de seguridad especificado utilizando el XmlWriterespecificado.

Se aplica a

Producto Versiones
.NET 8
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1