Auf Englisch lesen

Freigeben über


WSSecurityTokenSerializer Klasse

Definition

Die Klasse, die zum Serialisieren und Deserialisieren von Sicherheitstoken, Sicherheitsschlüsselbezeichnern und Sicherheitsschlüsselbezeichnerklauseln verwendet wird, die in den Sicherheitsspezifikationen WS-Sicherheit, WS-Trust und WS-SecureConversation definiert sind.

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

Beispiele

Im folgenden Code wird eine benutzerdefinierte Überschreibung dieser Klasse veranschaulicht.

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);
        }
    }
}

Konstruktoren

Eigenschaften

DefaultInstance

Ruft eine Standardinstanz dieser Klasse ab.

EmitBspRequiredAttributes

Ruft einen Wert ab, der angibt, ob von BSP erforderliche Attribute ausgegeben werden müssen.

MaximumKeyDerivationLabelLength

Ruft die maximale Schlüsselableitungs-Bezeichnungslänge ab.

MaximumKeyDerivationNonceLength

Ruft die maximale Schlüsselableitungs-Noncelänge ab.

MaximumKeyDerivationOffset

Ruft den maximalen Schlüsselableitungsoffset ab.

SecurityVersion

Ruft die Sicherheitsversion ab.

Methoden

CanReadKeyIdentifier(XmlReader)

Bestimmt, ob dieses Serialisierungsprogramm das <KeyIdentifier>-Element lesen kann, auf das vom angegebenen XML-Reader verwiesen wurde.

(Geerbt von SecurityTokenSerializer)
CanReadKeyIdentifierClause(XmlReader)

Bestimmt, ob dieses Serialisierungsprogramm eine Klausel in einem <KeyIdentifier>-Element lesen kann, auf das vom angegebenen XML-Reader verwiesen wurde.

(Geerbt von SecurityTokenSerializer)
CanReadKeyIdentifierClauseCore(XmlReader)

Ruft einen Wert ab, der angibt, ob die Schlüsselbezeichnerklausel mit dem angegebenen Reader gelesen werden kann.

CanReadKeyIdentifierCore(XmlReader)

Ruft einen Wert ab, der angibt, ob die Schlüsselbezeichner-Klauselkern mit dem angegebenen Reader gelesen werden kann.

CanReadToken(XmlReader)

Bestimmt, ob dieses Serialisierungsprogramm das Sicherheitstoken lesen kann, auf das der angegebene XML-Reader zeigt.

(Geerbt von SecurityTokenSerializer)
CanReadTokenCore(XmlReader)

Ruft einen Wert ab, der angibt, ob der Tokenkern mit dem angegebenen Reader gelesen werden kann.

CanWriteKeyIdentifier(SecurityKeyIdentifier)

Bestimmt, ob dieses Serialisierungsprogramm den angegebenen Schlüsselbezeichner schreiben kann.

(Geerbt von SecurityTokenSerializer)
CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

Bestimmt, ob dieses Serialisierungsprogramm die angegebene Schlüsselbezeichnerklausel schreiben kann.

(Geerbt von SecurityTokenSerializer)
CanWriteKeyIdentifierClauseCore(SecurityKeyIdentifierClause)

Ruft einen Wert ab, der angibt, ob der Schlüsselbezeichner-Klauselkern mit einer angegebenen Schlüsselbezeichnerklausel geschrieben werden kann.

CanWriteKeyIdentifierCore(SecurityKeyIdentifier)

Ruft einen Wert ab, der angibt, ob der Schlüsselbezeichnerkern mit einer angegebenen Schlüsselbezeichnerklausel geschrieben werden kann.

CanWriteToken(SecurityToken)

Bestimmt, ob dieses Serialisierungsprogramm das angegebene Sicherheitstoken in XML schreiben kann.

(Geerbt von SecurityTokenSerializer)
CanWriteTokenCore(SecurityToken)

Ruft einen Wert ab, der angibt, ob der Tokenkern mit einem angegebenen Sicherheitstoken geschrieben werden kann.

CreateKeyIdentifierClauseFromTokenXml(XmlElement, SecurityTokenReferenceStyle)

Erstellt eine Schlüsselbezeichnerklausel aus einem als XML ausgedrückten Token.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetTokenTypeUri(Type)

Ruft den URI des Sicherheitstokens des angegebenen Typs ab.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ReadKeyIdentifier(XmlReader)

Liest den Schlüsselbezeichner mit dem angegebenen XML-Reader.

(Geerbt von SecurityTokenSerializer)
ReadKeyIdentifierClause(XmlReader)

Liest die Schlüsselbezeichnerklausel mit dem angegebenen XML-Reader.

(Geerbt von SecurityTokenSerializer)
ReadKeyIdentifierClauseCore(XmlReader)

Liest den Schlüsselbezeichner-Klauselkern mit dem angegebenen XmlReader.

ReadKeyIdentifierCore(XmlReader)

Liest den Schlüsselbezeichnerkern mit dem angegebenen XmlReader.

ReadToken(XmlReader, SecurityTokenResolver)

Liest das Sicherheitstoken, auf das der angegebene XML-Reader zeigt.

(Geerbt von SecurityTokenSerializer)
ReadTokenCore(XmlReader, SecurityTokenResolver)

Liest den Tokenkern mit dem angegebenen XmlReader.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
TryCreateKeyIdentifierClauseFromTokenXml(XmlElement, SecurityTokenReferenceStyle, SecurityKeyIdentifierClause)

Versucht, eine Schlüsselbezeichnerklausel aus einem als XML ausgedrückten Token zu erstellen.

WriteKeyIdentifier(XmlWriter, SecurityKeyIdentifier)

Schreibt den angegebenen Schlüsselbezeichner mit dem angegebenen XML-Writer.

(Geerbt von SecurityTokenSerializer)
WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

Schreibt die angegebene Schlüsselbezeichnerklausel mit dem angegebenen XML-Writer.

(Geerbt von SecurityTokenSerializer)
WriteKeyIdentifierClauseCore(XmlWriter, SecurityKeyIdentifierClause)

Schreibt den Schlüsselbezeichner-Klauselkern mit einer angegebenen Schlüsselbezeichnerklausel unter Verwendung des angegebenen XmlWriter.

WriteKeyIdentifierCore(XmlWriter, SecurityKeyIdentifier)

Schreibt den Schlüsselbezeichnerkern mit einer angegebenen Schlüsselbezeichnerklausel unter Verwendung des angegebenen XmlWriter.

WriteToken(XmlWriter, SecurityToken)

Schreibt das angegebene Sicherheitstoken mit dem angegebenen XML-Writer.

(Geerbt von SecurityTokenSerializer)
WriteTokenCore(XmlWriter, SecurityToken)

Schreibt den Tokenkern mit einem angegebenen Sicherheitstoken unter Verwendung des angegebenen XmlWriter.

Gilt für:

Produkt Versionen
.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