WSSecurityTokenSerializer Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
WS-Security, WS-Trust ve WS-SecureConversation güvenlik belirtimlerinde tanımlanan güvenlik belirteçlerini, güvenlik anahtarı tanımlayıcılarını ve güvenlik anahtarı tanımlayıcı yan tümcelerini seri hale getirme ve seri durumdan çıkarma için kullanılan sınıf.
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
- Devralma
Örnekler
Aşağıdaki kod, bu sınıfın özel bir geçersiz kılmasını gösterir.
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
Oluşturucular
Özellikler
DefaultInstance |
Bu sınıfın varsayılan örneğini alır. |
EmitBspRequiredAttributes |
BSP gerekli özniteliklerinin yayılıp yayılmayacağını belirten bir değer alır. |
MaximumKeyDerivationLabelLength |
Maksimum anahtar türetme etiketi uzunluğunu alır. |
MaximumKeyDerivationNonceLength |
Maksimum anahtar türetme nonce uzunluğunu alır. |
MaximumKeyDerivationOffset |
En büyük anahtar türetme uzaklığını alır. |
SecurityVersion |
Güvenlik sürümünü alır. |
Yöntemler
CanReadKeyIdentifier(XmlReader) |
Bu seri hale getiricinin |
CanReadKeyIdentifierClause(XmlReader) |
Bu seri hale getiricinin belirtilen XML okuyucusu tarafından başvuruda bulunulur bir öğedeki yan |
CanReadKeyIdentifierClauseCore(XmlReader) |
Anahtar tanımlayıcı yan tümcesi çekirdeğinin belirtilen okuyucu kullanılarak okunup okunamayacağını belirten bir değer alır. |
CanReadKeyIdentifierCore(XmlReader) |
Anahtar tanımlayıcı çekirdeğinin belirtilen okuyucu kullanılarak okunup okunamayacağını belirten bir değer alır. |
CanReadToken(XmlReader) |
Bu seri hale getiricinin belirtilen XML okuyucu tarafından işaret edilen güvenlik belirtecini okuyup okuyamayacağını belirler. (Devralındığı yer: SecurityTokenSerializer) |
CanReadTokenCore(XmlReader) |
Belirteç çekirdeğinin belirtilen okuyucu kullanılarak okunup okunamayacağını belirten bir değer alır. |
CanWriteKeyIdentifier(SecurityKeyIdentifier) |
Bu seri hale getiricinin belirtilen anahtar tanımlayıcısını yazıp yazamayacağını belirler. (Devralındığı yer: SecurityTokenSerializer) |
CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause) |
Bu seri hale getiricinin belirtilen anahtar tanımlayıcı yan tümcesini yazıp yazamayacağını belirler. (Devralındığı yer: SecurityTokenSerializer) |
CanWriteKeyIdentifierClauseCore(SecurityKeyIdentifierClause) |
Belirtilen anahtar tanımlayıcı yan tümcesine sahip anahtar tanımlayıcı yan tümcesinin yazılıp yazılamayacağını belirten bir değer alır. |
CanWriteKeyIdentifierCore(SecurityKeyIdentifier) |
Belirtilen anahtar tanımlayıcı yan tümcesine sahip anahtar tanımlayıcı çekirdeğinin yazıp yazılamayacağını belirten bir değer alır. |
CanWriteToken(SecurityToken) |
Bu seri hale getiricinin belirtilen güvenlik belirtecini XML'ye yazıp yazamayacağını belirler. (Devralındığı yer: SecurityTokenSerializer) |
CanWriteTokenCore(SecurityToken) |
Belirtilen güvenlik belirteciyle belirteç çekirdeğinin yazılıp yazılamayacağını belirten bir değer alır. |
CreateKeyIdentifierClauseFromTokenXml(XmlElement, SecurityTokenReferenceStyle) |
XML olarak ifade edilen bir belirteçten anahtar tanımlayıcı yan tümcesi oluşturur. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetTokenTypeUri(Type) |
Belirtilen türdeki güvenlik belirtecinin URI'sini alır. |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ReadKeyIdentifier(XmlReader) |
Belirtilen XML okuyucuyu kullanarak anahtar tanımlayıcısını okur. (Devralındığı yer: SecurityTokenSerializer) |
ReadKeyIdentifierClause(XmlReader) |
Belirtilen XML okuyucuyu kullanarak anahtar tanımlayıcı yan tümcesini okur. (Devralındığı yer: SecurityTokenSerializer) |
ReadKeyIdentifierClauseCore(XmlReader) |
Belirtilen XmlReaderöğesini kullanarak anahtar tanımlayıcı yan tümcesi çekirdeğini okur. |
ReadKeyIdentifierCore(XmlReader) |
Belirtilen XmlReaderöğesini kullanarak anahtar tanımlayıcı çekirdeğini okur. |
ReadToken(XmlReader, SecurityTokenResolver) |
Belirtilen XML okuyucusu tarafından işaret edilen güvenlik belirtecini okur. (Devralındığı yer: SecurityTokenSerializer) |
ReadTokenCore(XmlReader, SecurityTokenResolver) |
Belirtilen XmlReaderöğesini kullanarak belirteç çekirdeğini okur. |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
TryCreateKeyIdentifierClauseFromTokenXml(XmlElement, SecurityTokenReferenceStyle, SecurityKeyIdentifierClause) |
XML olarak ifade edilen bir belirteçten anahtar tanımlayıcı yan tümcesi oluşturmaya çalışır. |
WriteKeyIdentifier(XmlWriter, SecurityKeyIdentifier) |
Belirtilen XML yazıcısını kullanarak belirtilen anahtar tanımlayıcısını yazar. (Devralındığı yer: SecurityTokenSerializer) |
WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause) |
Belirtilen XML yazıcısını kullanarak belirtilen anahtar tanımlayıcı yan tümcesini yazar. (Devralındığı yer: SecurityTokenSerializer) |
WriteKeyIdentifierClauseCore(XmlWriter, SecurityKeyIdentifierClause) |
Belirtilen kullanarak belirtilen anahtar tanımlayıcı yan tümcesiyle anahtar tanımlayıcı yan tümcesi çekirdeğini XmlWriteryazar. |
WriteKeyIdentifierCore(XmlWriter, SecurityKeyIdentifier) |
Belirtilen kullanarak belirtilen anahtar tanımlayıcı yan tümcesiyle anahtar tanımlayıcı çekirdeğini XmlWriteryazar. |
WriteToken(XmlWriter, SecurityToken) |
Belirtilen XML yazıcısını kullanarak belirtilen güvenlik belirtecini yazar. (Devralındığı yer: SecurityTokenSerializer) |
WriteTokenCore(XmlWriter, SecurityToken) |
Belirtilen güvenlik belirteciyle belirteç çekirdeğini belirtilen XmlWriterkullanarak yazar. |