SessionSecurityTokenHandler Sınıf

Tanım

SecurityTokenHandlerTürü güvenlik belirteçlerini işleyen bir SessionSecurityToken .A SecurityTokenHandler that processes security tokens of type SessionSecurityToken.

public ref class SessionSecurityTokenHandler : System::IdentityModel::Tokens::SecurityTokenHandler
public class SessionSecurityTokenHandler : System.IdentityModel.Tokens.SecurityTokenHandler
type SessionSecurityTokenHandler = class
    inherit SecurityTokenHandler
Public Class SessionSecurityTokenHandler
Inherits SecurityTokenHandler
Devralma
SessionSecurityTokenHandler
Türetilmiş

Örnekler

Aşağıdaki XML, bir belirteç işleyici koleksiyonundaki varsayılan oturum güvenliği belirteç işleyicisinin yapılandırma içindeki bir sınıf örneğiyle nasıl değiştirileceğini gösterir MachineKeySessionSecurityTokenHandler .The following XML shows how to replace the default session security token handler in a token handler collection with an instance of the MachineKeySessionSecurityTokenHandler class in configuration.

<securityTokenHandlers>  
  <remove type="System.IdentityModel.Tokens.SessionSecurityTokenHandler, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />  
  <add type="System.IdentityModel.Services.Tokens.MachineKeySessionSecurityTokenHandler, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />  
</securityTokenHandlers>  

Açıklamalar

Sınıfı seri hale getirir, seri hale getirir SessionSecurityTokenHandler ve oturum belirteçlerini doğrular.The SessionSecurityTokenHandler class serializes, deserializes, and validates session tokens. Oturum belirteçleri türünde belirteçlerdir SessionSecurityToken .Session tokens are tokens of type SessionSecurityToken. SessionSecurityTokenHandlerSınıfı, tanımlama bilgisi biçiminden ve biçiminden belirteçleri seri hale getirir.The SessionSecurityTokenHandler class serializes the tokens to and from cookie format. Varsayılan olarak, sınıfı, belirteçleri WS-Secure Conversation Feb2005 veya WS-Secure Conversation 1,3 öğelerine seri hale getirir <wsc:SecurityContextToken> .By default, the class serializes tokens into WS-Secure Conversation Feb2005 or WS-Secure Conversation 1.3 <wsc:SecurityContextToken> elements. Oturum belirteçleri, WSFederationAuthenticationModule (wsfab) ve SessionAuthenticationModule (Sam) tarafından bir oturum hakkında bilgi depolamak için kullanılır. Bu, birincil olarak ClaimsPrincipal kimliği doğrulanmış kullanıcıyla ve oturum başlatma ve sona erme zamanları ile ilişkilendirilir.Session tokens are used by the WSFederationAuthenticationModule (WSFAM) and the SessionAuthenticationModule (SAM) to store information about a session, this is primarily the ClaimsPrincipal associated with the authenticated user and the session start and expiration times.

Pasif senaryolarda, WSFederationAuthenticationModule SessionAuthenticationModule ClaimsPrincipal kimliği doğrulanmış kullanıcıyı temsil eden öğesinden bir oturum belirteci oluşturmak için kimlik doğrulama ardışık düzeninde (Sam) öğesine çağrı yapılır.In passive scenarios, the WSFederationAuthenticationModule calls into the SessionAuthenticationModule (SAM) from the authentication pipeline to create a session token from the ClaimsPrincipal that represents the authenticated user. SAM, SessionSecurityTokenHandler belirtecini oluşturmak ve bir tanımlama bilgisine seri hale getirmek için (ve sonraki isteklerde bir tanımlama bilgisinden belirteç serisini kaldırmak için) yapılandırılmış öğesini kullanır.The SAM uses its configured SessionSecurityTokenHandler to create the token and to serialize it into a cookie (and to deserialize the token from a cookie on subsequent requests). SAM, CookieHandler tanımlama BILGISINI HTTP yanıtına geri yazmak için yapılandırılmış sınıfının bir örneğini kullanır.The SAM uses an instance of its configured CookieHandler class to write the cookie back to the HTTP Response. Bu tanımlama bilgisi daha sonra istemciye ve sonraki isteklere döndürülür. bir güvenlik belirtecini yeniden almak için kimlik sağlayıcıya geri dönüş yapmak yerine, istemci tanımlama bilgisini sunabilir.This cookie is then returned to the client and on subsequent requests the client can present the cookie rather than making a round trip back to the identity provider to re-obtain a security token. Oturumların WıF ile nasıl çalıştığı hakkında daha fazla bilgi için bkz. WIF oturum yönetimi.For more information about how sessions operate with WIF, see WIF Session Management.

Not

<securityTokenHandlers>Yapılandırma öğesi SessionSecurityTokenHandler , uygulamanın oturumlarını güvenli hale getirme sorumluluğunu içeren bir belirtmek için kullanılabilir.The <securityTokenHandlers> configuration element can be used to specify a SessionSecurityTokenHandler that has the responsibility for securing the application's sessions. Yanlış yapılandırılmış bir sistem uygulama güvenliğinin aşılmasına yol açabileceğinden, geliştiriciler bu yapılandırma ayarını değiştirirken dikkatli olmalıdır.Developers should use caution when changing this configuration setting, as a misconfigured system could result in application compromise. Örneğin, türetilmiş bir SessionSecurityTokenHandler türeme ve boş dönüşümler (tanımlama bilgisi Etransform) koleksiyonu taban öğesine geçirmek, Kullanıcı kimliğinin korunmayan bir tanımlama bilgisinde serileştirilmesine neden olur.For example, specifying a derived SessionSecurityTokenHandler and passing an empty Transforms (CookieTransform) collection to the base, would result in the users identity being serialized into a cookie that was not protected. Bu, bir saldırganın kimliği değiştirmesine ve bu nedenle erişim ayrıcalıklarını değiştirmesine izin verebilir.This could allow an attacker to modify the identity and therefore change access privileges.

Oturum belirteci başvuru modundaysa, bu, SessionSecurityToken.IsReferenceMode özelliği ise, true oturum belirteci işleyicisi yalnızca içindeki anahtarını yeniden oluşturmak için gereken oturum belirtecinin özelliklerini seri hale getirir SessionSecurityTokenCache .If the session token is in reference mode, that is, its SessionSecurityToken.IsReferenceMode property is true, the session token handler only serializes properties of the session token that are needed to regenerate its key in the SessionSecurityTokenCache. Varsayılan durumda, SessionSecurityTokenCacheKey sınıfı önbellek anahtarlarını temsil etmek için kullanılır ve belirteç işleyicisi SessionSecurityToken.ContextId SessionSecurityToken.KeyGeneration belirtecin ve özelliklerini yazar.In the default case, the SessionSecurityTokenCacheKey class is used to represent cache keys, and the token handler writes the SessionSecurityToken.ContextId and SessionSecurityToken.KeyGeneration properties of the token. Oturum belirteci başvuru modunda değilse, bu SessionSecurityToken.IsReferenceMode özellik, false daha önce bahsedilen özelliklere ek olarak, ApplyTransforms yöntemi belirteçten serileştirilmiş bir bayt dizisinde çağırır ve elde edilen değeri tanımlama bilgisinde de depolar.If the session token is not in reference mode, that is, the SessionSecurityToken.IsReferenceMode property is false, then, in addition to the properties mentioned previously, the handler invokes the ApplyTransforms method on a byte array serialized from the token and stores the resulting value in the cookie as well. Belirtecin nasıl serileştirildiği hakkında daha fazla bilgi için, bkz SessionSecurityTokenHandler.WriteToken(XmlWriter, SecurityToken) . yöntemi.For more details about how the token is serialized, see the SessionSecurityTokenHandler.WriteToken(XmlWriter, SecurityToken) method.

TransformsÖzelliği, yöntemindeki oturum belirtecine uygulanan dönüşümlerin listesini alır ApplyTransforms .The Transforms property gets the list of transforms that are applied to the session token in the ApplyTransforms method. Tüm dönüşümler CookieTransform sınıfından türetilir.All transforms derive from the CookieTransform class. Varsayılan durumda, DeflateCookieTransform ve ProtectedDataCookieTransform uygulanır.In the default case the DeflateCookieTransform and the ProtectedDataCookieTransform are applied. , ProtectedDataCookieTransform Tanımlama bilgisi malzemesini korumak Için veri koruma API 'sini (DPAPI) kullanır.The ProtectedDataCookieTransform uses the Data Protection API (DPAPI) to protect the cookie material. DPAPI, koruma algoritmalarında üzerinde çalıştığı bilgisayara özgü bir anahtar kullanır.DPAPI uses a key that is specific to the computer on which it is running in its protection algorithms. Bu nedenle, varsayılan oturum belirteci işleyicisi Web grubu senaryolarında kullanılamaz, çünkü bu tür senaryolarda, bir bilgisayarda yazılan belirteçlerin başka bir bilgisayarda okunmasının gerekebileceği için.For this reason, the default session token handler is not usable in Web farm scenarios because, in such scenarios, tokens written on one computer may need to be read on another computer. Bu sorunu aşmak için birçok strateji kullanabilirsiniz.You can use many strategies to circumvent this issue. Örneğin, şunları yapabilirsiniz:For example, you can:

Web grubu senaryolarında oturumları kullanma hakkında daha fazla bilgi için bkz. WIF ve Web grupları.For more information about using sessions in Web farm scenarios, see WIF and Web Farms.

, SessionSecurityTokenHandler Varsayılan belirteç işleyici koleksiyonuna dahildir; ancak, önce < securityTokenHandlers > öğesi altında < Remove > öğesini belirterek, varsayılan işleyiciyi koleksiyondan kaldırmak ve ardından < Ekle > öğesini kullanarak özel belirteç işleyicinizi eklemek için özel bir oturum belirteci işleyicisi ile değiştirebilirsiniz.The SessionSecurityTokenHandler is included in the default token handler collection; however, you can replace it with a custom session token handler by first specifying a <remove> element under the <securityTokenHandlers> element to remove the default handler from the collection and then adding your custom token handler using the <add> element. Varsayılan olarak, öğesinin altında < sessiontokenrequirement > öğesini ekleyerek varsayılan belirteç ömrünü belirtebilirsiniz <add> .By default, you can specify the default token lifetime by including the <sessionTokenRequirement> element under the <add> element. <add>Öğesini LoadCustomConfiguration işlemek için mantığı sağlamak üzere metodunu geçersiz kılarak, özel yapılandırma öğelerini almak için özel bir belirteç işleyicisi tasarlayabilirsiniz.You can design a custom token handler to take custom configuration elements under the <add> element by overriding the LoadCustomConfiguration method to provide the logic to process them.

Oluşturucular

SessionSecurityTokenHandler()

SessionSecurityTokenHandlerVarsayılan tanımlama bilgisi dönüştürmelerini ve belirteç ömrünü kullanan sınıfının yeni bir örneğini başlatır.Initializes a new instance of the SessionSecurityTokenHandler class that uses the default cookie transforms and token lifetime.

SessionSecurityTokenHandler(ReadOnlyCollection<CookieTransform>)

SessionSecurityTokenHandlerBelirtilen tanımlama bilgisi dönüşümlerini kullanan sınıfın yeni bir örneğini başlatır.Initializes a new instance of the SessionSecurityTokenHandler class that uses the specified cookie transforms.

SessionSecurityTokenHandler(ReadOnlyCollection<CookieTransform>, TimeSpan)

SessionSecurityTokenHandlerBelirtilen tanımlama bilgisi dönüştürmelerini ve belirteç ömrünü kullanan sınıfının yeni bir örneğini başlatır.Initializes a new instance of the SessionSecurityTokenHandler class that uses the specified cookie transforms and token lifetime.

Alanlar

DefaultCookieTransforms

Tanımlama bilgilerine uygulanacak varsayılan dönüşümler listesini içeren salt okuma koleksiyonu, DeflateCookieTransform ve ProtectedDataCookieTransform .A read only collection that contains the list of default transforms to be applied to cookies, the DeflateCookieTransform and the ProtectedDataCookieTransform.

DefaultLifetime

Tanımlama bilgileri, on saat için varsayılan yaşam süresini belirten bir sabit.A constant that specifies the default lifetime for cookies, ten hours.

Özellikler

CanValidateToken

Bu işleyicinin türdeki belirteçlerin doğrulanmasını destekleyip desteklemediğini gösteren bir değer alır SessionSecurityToken .Gets a value that indicates whether this handler supports validation of tokens of type SessionSecurityToken.

CanWriteToken

Bu işleyicinin tür belirteçleri yazıp yazamayacağını gösteren bir değer alır SessionSecurityToken .Gets a value that indicates whether this handler can write tokens of type SessionSecurityToken.

Configuration

SecurityTokenHandlerConfigurationGeçerli örnek için yapılandırma sağlayan nesneyi alır veya ayarlar.Gets or sets the SecurityTokenHandlerConfiguration object that provides configuration for the current instance.

(Devralındığı yer: SecurityTokenHandler)
ContainingCollection

Geçerli örneği içeren belirteç işleyici koleksiyonunu alır.Gets the token handler collection that contains the current instance.

(Devralındığı yer: SecurityTokenHandler)
CookieElementName

Tanımlama bilgisi öğesinin adını alır.Gets the name for the cookie element.

CookieNamespace

Tanımlama bilgisi öğesi için ad alanını alır.Gets the namespace for the cookie element.

DefaultTokenLifetime

Varsayılan belirteç ömrünü alır.Gets the default token lifetime.

TokenLifetime

Belirteç ömrünü alır veya ayarlar.Gets or sets the token lifetime.

TokenType

Bu işleyicinin işlediği belirteçlerin türünü alır.Gets the type of the tokens that this handler processes.

Transforms

Tanımlama bilgisine uygulanacak dönüşümleri alır.Gets the transforms that will be applied to the cookie.

Yöntemler

ApplyTransforms(Byte[], Boolean)

TransformsBelirtilen tanımlama bilgisinin kodlanması ya da kodunu çözmek için özelliği tarafından belirtilen dönüşümleri uygular.Applies the transforms specified by the Transforms property to either encode or decode the specified cookie.

CanReadKeyIdentifierClause(XmlReader)

Belirtilen XML okuyucusu tarafından başvurulan XML öğesinin bu örnek tarafından seri durumdan çıkarılabilen bir anahtar tanımlayıcı yan tümcesi olup olmadığını gösteren bir değer döndürür.Returns a value that indicates whether the XML element referred to by the specified XML reader is a key identifier clause that can be deserialized by this instance.

(Devralındığı yer: SecurityTokenHandler)
CanReadToken(String)

Belirtilen dizenin Bu örnek tarafından işlenen türün bir belirteci olarak seri durumdan çıkarılabileceğini belirten bir değer döndürür.Returns a value that indicates whether the specified string can be deserialized as a token of the type processed by this instance.

(Devralındığı yer: SecurityTokenHandler)
CanReadToken(XmlReader)

Okuyucunun bir öğeye konumlandırılıp yerleştirilmediğini gösteren bir değer döndürür <wsc:SecurityContextToken> .Returns a value that indicates whether the reader is positioned at a <wsc:SecurityContextToken> element.

CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

Belirtilen anahtar tanımlayıcı yan tümcesinin Bu örnek tarafından seri hale getirilemeyeceğini belirten bir değer döndürür.Returns a value that indicates whether the specified key identifier clause can be serialized by this instance.

(Devralındığı yer: SecurityTokenHandler)
CreateSecurityTokenReference(SecurityToken, Boolean)

Türetilmiş bir sınıfta geçersiz kılınırsa, bu sınıf tarafından işlenen belirteçler için güvenlik belirteci başvurusunu oluşturur.When overridden in a derived class, creates the security token reference for tokens processed by that class. Bu yöntem genellikle bir güvenlik belirteci hizmeti (STS) tarafından çağırılır.This method is typically called by a security token service (STS).

(Devralındığı yer: SecurityTokenHandler)
CreateSessionSecurityToken(ClaimsPrincipal, String, String, DateTime, DateTime)

SessionSecurityTokenBelirtecin geçerli olduğu belirtilen talep sorumlusu ve zaman aralığına göre oluşturur.Creates a SessionSecurityToken based on the specified claims principal and time range during which the token is valid.

CreateToken(SecurityTokenDescriptor)

Belirtilen belirteç tanımlayıcısına göre bir güvenlik belirteci oluşturur.Creates a security token based on the specified token descriptor.

DetectReplayedToken(SecurityToken)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen belirtecin yeniden çalındığı algılanırsa bir özel durum oluşturur.When overridden in a derived class, throws an exception if the specified token is detected as being replayed.

(Devralındığı yer: SecurityTokenHandler)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.Determines whether the specified object is equal to the current object.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi olarak işlev görür.Serves as the default hash function.

(Devralındığı yer: Object)
GetTokenTypeIdentifiers()

Bu işleyici tarafından işlenebilecek belirteç türleri için belirteç türü URI 'Leri alır.Gets the token type URIs for the token types that can be processed by this handler.

GetType()

TypeGeçerli örneği alır.Gets the Type of the current instance.

(Devralındığı yer: Object)
LoadCustomConfiguration(XmlNodeList)

XML 'den özel yapılandırma yükler.Loads custom configuration from XML.

MemberwiseClone()

Geçerli bir basit kopyasını oluşturur Object .Creates a shallow copy of the current Object.

(Devralındığı yer: Object)
ReadKeyIdentifierClause(XmlReader)

Türetilmiş bir sınıfta geçersiz kılınırsa, belirtilen XML okuyucusu tarafından başvurulan XML 'i türetilmiş sınıf tarafından işlenen bir belirtece başvuran bir anahtar tanımlayıcı yan tümcesine çıkarmaz.When overridden in a derived class, deserializes the XML referenced by the specified XML reader to a key identifier clause that references a token processed by the derived class.

(Devralındığı yer: SecurityTokenHandler)
ReadToken(Byte[], SecurityTokenResolver)

SessionSecurityTokenBelirtilen belirteç çözümleyicisini kullanarak bayt akışından okur.Reads the SessionSecurityToken from a stream of bytes by using the specified token resolver.

ReadToken(String)

Türetilmiş bir sınıfta geçersiz kılınırsa, belirtilen dizeyi türetilmiş sınıf tarafından işlenen türün belirtecine seri hale getirir.When overridden in a derived class, deserializes the specified string to a token of the type processed by the derived class.

(Devralındığı yer: SecurityTokenHandler)
ReadToken(XmlReader)

SessionSecurityTokenBELIRTILEN XML okuyucusunu kullanarak okur.Reads the SessionSecurityToken using the specified XML reader.

ReadToken(XmlReader, SecurityTokenResolver)

SessionSecurityTokenBELIRTILEN XML okuyucusunu ve belirteç çözümleyicisini kullanarak okur.Reads the SessionSecurityToken using the specified XML reader and token resolver.

SetTransforms(IEnumerable<CookieTransform>)

Tanımlama bilgilerine uygulanacak dönüşümleri ayarlar.Sets the transforms that will be applied to cookies.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.Returns a string that represents the current object.

(Devralındığı yer: Object)
TraceTokenValidationFailure(SecurityToken, String)

İzleme etkinleştirildiğinde güvenlik belirteçlerinin doğrulanması sırasında hata olayını izler.Traces the failure event during the validation of security tokens when tracing is enabled.

(Devralındığı yer: SecurityTokenHandler)
TraceTokenValidationSuccess(SecurityToken)

İzleme etkinleştirildiğinde güvenlik belirteçleri olayının başarıyla doğrulanmasını izler.Traces the successful validation of security tokens event when tracing is enabled.

(Devralındığı yer: SecurityTokenHandler)
ValidateSession(SessionSecurityToken)

Belirtilen belirteçle ilişkilendirilen oturumun hala geçerli olup olmadığını belirler.Determines whether the session associated with the specified token is still valid. Geçerlilik, ValidFrom ValidTo belirtilen belirtecin ve özelliklerini denetleyerek belirlenir.Validity is determined by checking the ValidFrom and ValidTo properties of the specified token. Oturum artık geçerli değilse bir özel durum oluşturulur.An exception is thrown if the session is no longer valid.

ValidateToken(SecurityToken)

Belirtilen belirteci doğrular ve taleplerini döndürür.Validates the specified token and returns its claims.

ValidateToken(SessionSecurityToken, String)

Belirtilen oturum belirtecini doğrular ve taleplerini döndürür.Validates the specified session token and returns its claims.

WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

Türetilmiş bir sınıfta geçersiz kılınırsa, belirtilen anahtar tanımlayıcı yan tümcesini XML 'e seri hale getirir.When overridden in a derived class, serializes the specified key identifier clause to XML. Anahtar tanımlayıcı yan tümcesinin türetilmiş sınıf tarafından desteklenen türde olması gerekir.The key identifier clause must be of the type supported by the derived class.

(Devralındığı yer: SecurityTokenHandler)
WriteToken(SecurityToken)

Türetilmiş bir sınıfta geçersiz kılınırsa, belirtilen güvenlik belirtecini bir dizeye seri hale getirir.When overridden in a derived class, serializes the specified security token to a string. Belirtecin türetilmiş sınıf tarafından işlenen türde olması gerekir.The token must be of the type processed by the derived class.

(Devralındığı yer: SecurityTokenHandler)
WriteToken(SessionSecurityToken)

Belirtilen belirteci bir bayt dizisine dizleştirir.Serializes the specified token into a byte array.

WriteToken(XmlWriter, SecurityToken)

Belirtilen belirteci belirtilen XML yazıcısını kullanarak seri hale getirir.Serializes the specified token by using the specified XML writer.

Şunlara uygulanır

Ayrıca bkz.