WSSecurityTokenSerializer Klas

Definitie

De klasse die wordt gebruikt voor het serialiseren en deserialiseren van beveiligingstokens, beveiligingssleutel-id's en componenten voor beveiligingssleutel-id's die zijn gedefinieerd in WS-Security, WS-Trust en WS-SecureConversation beveiligingsspecificaties.

public ref class WSSecurityTokenSerializer : System::IdentityModel::Selectors::SecurityTokenSerializer
public class WSSecurityTokenSerializer : System.IdentityModel.Selectors.SecurityTokenSerializer
type WSSecurityTokenSerializer = class
    inherit SecurityTokenSerializer
Public Class WSSecurityTokenSerializer
Inherits SecurityTokenSerializer
Overname
WSSecurityTokenSerializer

Voorbeelden

De volgende code demonstreert een aangepaste onderdrukking van deze klasse.

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);
        }
    }
}
Public Class CreditCardSecurityTokenSerializer
    Inherits WSSecurityTokenSerializer

    Public Sub New(ByVal version As SecurityTokenVersion)
        MyBase.New()
    End Sub

    Protected Overrides Function CanReadTokenCore(ByVal reader As XmlReader) As Boolean
        Dim localReader = XmlDictionaryReader.CreateDictionaryReader(reader)
        If reader Is Nothing Then
            Throw New ArgumentNullException("reader")
        End If
        If reader.IsStartElement(Constants.CreditCardTokenName, _
                                 Constants.CreditCardTokenNamespace) Then
            Return True
        End If
        Return MyBase.CanReadTokenCore(reader)
    End Function

    Protected Overrides Function ReadTokenCore(ByVal reader As XmlReader, _
                                               ByVal tokenResolver As SecurityTokenResolver) As SecurityToken
        If reader Is Nothing Then
            Throw New ArgumentNullException("reader")
        End If
        If reader.IsStartElement(Constants.CreditCardTokenName, _
                                 Constants.CreditCardTokenNamespace) Then

            Dim id = reader.GetAttribute(Constants.Id, _
                                         Constants.WsUtilityNamespace)
            reader.ReadStartElement()

            ' Read the credit card number.
            Dim creditCardNumber = reader.ReadElementString(Constants.CreditCardNumberElementName, _
                                                            Constants.CreditCardTokenNamespace)

            ' Read the expiration date.
            Dim expirationTimeString = reader.ReadElementString(Constants.CreditCardExpirationElementName, _
                                                                Constants.CreditCardTokenNamespace)
            Dim expirationTime As DateTime = XmlConvert.ToDateTime(expirationTimeString, _
                                                                   XmlDateTimeSerializationMode.Utc)

            ' Read the issuer of the credit card.
            Dim creditCardIssuer = reader.ReadElementString(Constants.CreditCardIssuerElementName, _
                                                            Constants.CreditCardTokenNamespace)
            reader.ReadEndElement()

            Dim cardInfo As New CreditCardInfo(creditCardNumber, _
                                               creditCardIssuer, _
                                               expirationTime)

            Return New CreditCardToken(cardInfo, id)
        Else
            Return WSSecurityTokenSerializer.DefaultInstance.ReadToken(reader, _
                                                                       tokenResolver)
        End If
    End Function

    Protected Overrides Function CanWriteTokenCore(ByVal token As SecurityToken) As Boolean
        If TypeOf token Is CreditCardToken Then
            Return True
        Else
            Return MyBase.CanWriteTokenCore(token)
        End If
    End Function

    Protected Overrides Sub WriteTokenCore(ByVal writer As XmlWriter, _
                                           ByVal token As SecurityToken)
        If writer Is Nothing Then
            Throw New ArgumentNullException("writer")
        End If
        If token Is Nothing Then
            Throw New ArgumentNullException("token")
        End If

        Dim c = TryCast(token, CreditCardToken)
        If c IsNot Nothing Then
            With writer
                .WriteStartElement(Constants.CreditCardTokenPrefix, _
                                   Constants.CreditCardTokenName, _
                                   Constants.CreditCardTokenNamespace)
                .WriteAttributeString(Constants.WsUtilityPrefix, _
                                      Constants.Id, _
                                      Constants.WsUtilityNamespace, _
                                      token.Id)
                .WriteElementString(Constants.CreditCardNumberElementName, _
                                    Constants.CreditCardTokenNamespace, _
                                    c.CardInfo.CardNumber)
                .WriteElementString(Constants.CreditCardExpirationElementName, _
                                    Constants.CreditCardTokenNamespace, _
                                    XmlConvert.ToString(c.CardInfo.ExpirationDate, _
                                                        XmlDateTimeSerializationMode.Utc))
                .WriteElementString(Constants.CreditCardIssuerElementName, _
                                    Constants.CreditCardTokenNamespace, _
                                    c.CardInfo.CardIssuer)
                .WriteEndElement()
                .Flush()
            End With
        Else
            MyBase.WriteTokenCore(writer, token)
        End If
    End Sub

End Class

Constructors

Name Description
WSSecurityTokenSerializer()

Initialiseert een nieuw exemplaar van de WSSecurityTokenSerializer klasse.

WSSecurityTokenSerializer(Boolean)

Initialiseert een nieuw exemplaar van de WSSecurityTokenSerializer klasse.

WSSecurityTokenSerializer(SecurityVersion, Boolean, SamlSerializer, SecurityStateEncoder, IEnumerable<Type>, Int32, Int32, Int32)

Initialiseert een nieuw exemplaar van de WSSecurityTokenSerializer klasse.

WSSecurityTokenSerializer(SecurityVersion, Boolean, SamlSerializer, SecurityStateEncoder, IEnumerable<Type>)

Initialiseert een nieuw exemplaar van de WSSecurityTokenSerializer klasse.

WSSecurityTokenSerializer(SecurityVersion, Boolean, SamlSerializer)

Initialiseert een nieuw exemplaar van de WSSecurityTokenSerializer klasse.

WSSecurityTokenSerializer(SecurityVersion, Boolean)

Initialiseert een nieuw exemplaar van de WSSecurityTokenSerializer klasse.

WSSecurityTokenSerializer(SecurityVersion, TrustVersion, SecureConversationVersion, Boolean, SamlSerializer, SecurityStateEncoder, IEnumerable<Type>, Int32, Int32, Int32)

Initialiseert een nieuw exemplaar van de WSSecurityTokenSerializer klasse.

WSSecurityTokenSerializer(SecurityVersion, TrustVersion, SecureConversationVersion, Boolean, SamlSerializer, SecurityStateEncoder, IEnumerable<Type>)

Initialiseert een nieuw exemplaar van de WSSecurityTokenSerializer klasse.

WSSecurityTokenSerializer(SecurityVersion)

Initialiseert een nieuw exemplaar van de WSSecurityTokenSerializer klasse.

Eigenschappen

Name Description
DefaultInstance

Hiermee haalt u een standaardexemplaren van deze klasse op.

EmitBspRequiredAttributes

Hiermee wordt een waarde opgehaald die aangeeft of BSP vereiste kenmerken moeten worden verzonden.

MaximumKeyDerivationLabelLength

Hiermee haalt u de maximale lengte van het sleutellabel op.

MaximumKeyDerivationNonceLength

Hiermee haalt u de maximale lengte van de sleutel van de niet-ce-lengte op.

MaximumKeyDerivationOffset

Hiermee haalt u de maximale sleutelverrekeningsverschil op.

SecurityVersion

Hiermee haalt u de beveiligingsversie op.

Methoden

Name Description
CanReadKeyIdentifier(XmlReader)

Bepaalt of dit serialisatieprogramma het <KeyIdentifier> element kan lezen waarnaar wordt verwezen door de opgegeven XML-lezer.

(Overgenomen van SecurityTokenSerializer)
CanReadKeyIdentifierClause(XmlReader)

Bepaalt of deze serializer een component kan lezen in een <KeyIdentifier> element waarnaar wordt verwezen door de opgegeven XML-lezer.

(Overgenomen van SecurityTokenSerializer)
CanReadKeyIdentifierClauseCore(XmlReader)

Hiermee wordt een waarde opgehaald die aangeeft of de kern van de sleutel-id-component kan worden gelezen met behulp van de opgegeven lezer.

CanReadKeyIdentifierCore(XmlReader)

Hiermee wordt een waarde opgehaald die aangeeft of de sleutel-id-kern kan worden gelezen met behulp van de opgegeven lezer.

CanReadToken(XmlReader)

Bepaalt of met deze serializer het beveiligingstoken kan worden gelezen dat door de opgegeven XML-lezer wordt aangegeven.

(Overgenomen van SecurityTokenSerializer)
CanReadTokenCore(XmlReader)

Hiermee wordt een waarde opgehaald die aangeeft of de tokenkern kan worden gelezen met behulp van de opgegeven lezer.

CanWriteKeyIdentifier(SecurityKeyIdentifier)

Bepaalt of deze serializer de opgegeven sleutel-id kan schrijven.

(Overgenomen van SecurityTokenSerializer)
CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

Bepaalt of deze serializer de opgegeven sleutel-id-component kan schrijven.

(Overgenomen van SecurityTokenSerializer)
CanWriteKeyIdentifierClauseCore(SecurityKeyIdentifierClause)

Hiermee wordt een waarde opgehaald die aangeeft of de sleutel-id-component kern met een opgegeven sleutel-id-component kan worden geschreven.

CanWriteKeyIdentifierCore(SecurityKeyIdentifier)

Hiermee wordt een waarde opgehaald die aangeeft of de sleutel-id-kern met een opgegeven sleutel-id-component kan worden geschreven.

CanWriteToken(SecurityToken)

Bepaalt of deze serializer het opgegeven beveiligingstoken naar XML kan schrijven.

(Overgenomen van SecurityTokenSerializer)
CanWriteTokenCore(SecurityToken)

Hiermee wordt een waarde opgehaald die aangeeft of de tokenkern met een opgegeven beveiligingstoken kan worden geschreven.

CreateKeyIdentifierClauseFromTokenXml(XmlElement, SecurityTokenReferenceStyle)

Hiermee maakt u een sleutel-id-component van een token dat wordt uitgedrukt als XML.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetTokenTypeUri(Type)

Hiermee haalt u de URI van het beveiligingstoken van het opgegeven type op.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ReadKeyIdentifier(XmlReader)

Leest de sleutel-id met behulp van de opgegeven XML-lezer.

(Overgenomen van SecurityTokenSerializer)
ReadKeyIdentifierClause(XmlReader)

Leest de sleutel-id-component met behulp van de opgegeven XML-lezer.

(Overgenomen van SecurityTokenSerializer)
ReadKeyIdentifierClauseCore(XmlReader)

Leest de kern van de sleutel-id-component met behulp van de opgegeven XmlReader.

ReadKeyIdentifierCore(XmlReader)

Leest de sleutel-id-kern met behulp van de opgegeven XmlReader.

ReadToken(XmlReader, SecurityTokenResolver)

Leest het beveiligingstoken dat door de opgegeven XML-lezer wordt verwezen.

(Overgenomen van SecurityTokenSerializer)
ReadTokenCore(XmlReader, SecurityTokenResolver)

Leest de tokenkern met behulp van de opgegeven XmlReader.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)
TryCreateKeyIdentifierClauseFromTokenXml(XmlElement, SecurityTokenReferenceStyle, SecurityKeyIdentifierClause)

Hiermee wordt geprobeerd een sleutel-id-component te maken van een token dat wordt uitgedrukt als XML.

WriteKeyIdentifier(XmlWriter, SecurityKeyIdentifier)

Hiermee schrijft u de opgegeven sleutel-id met behulp van de opgegeven XML-schrijver.

(Overgenomen van SecurityTokenSerializer)
WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

Hiermee schrijft u de opgegeven sleutel-id-component met behulp van de opgegeven XML-schrijver.

(Overgenomen van SecurityTokenSerializer)
WriteKeyIdentifierClauseCore(XmlWriter, SecurityKeyIdentifierClause)

Schrijft de kern van de sleutel-id-component met een opgegeven sleutel-id-component met behulp van de opgegeven XmlWriter.

WriteKeyIdentifierCore(XmlWriter, SecurityKeyIdentifier)

Schrijft de sleutel-id-kern met een opgegeven sleutel-id-component met behulp van de opgegeven XmlWriter.

WriteToken(XmlWriter, SecurityToken)

Hiermee schrijft u het opgegeven beveiligingstoken met behulp van de opgegeven XML-schrijver.

(Overgenomen van SecurityTokenSerializer)
WriteTokenCore(XmlWriter, SecurityToken)

Hiermee schrijft u de tokenkern met een opgegeven beveiligingstoken met behulp van het opgegeven XmlWriter.

Van toepassing op