SessionSecurityTokenHandler Sınıf

Tanım

SecurityTokenHandler türünde SessionSecurityTokengüvenlik belirteçlerini işleyen bir .

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üvenlik belirteci işleyicisinin yapılandırmadaki sınıfın MachineKeySessionSecurityTokenHandler bir örneğiyle nasıl değiştirileceğini gösterir.

<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

SessionSecurityTokenHandler sınıfı oturum belirteçlerini serileştirir, seri durumdan çıkartır ve doğrular. Oturum belirteçleri türünde SessionSecurityTokenbelirteçlerdir. SessionSecurityTokenHandler sınıfı, tanımlama bilgisi biçiminden belirteçleri seri hale getirmektedir. Sınıf varsayılan olarak belirteçleri WS-Secure Konuşma Şub2005 veya WS-Secure Konuşma 1.3 <wsc:SecurityContextToken> öğelerine seri hale getirmektedir. Oturum belirteçleri bir oturum hakkındaki bilgileri depolamak için (WSFAM) ve SessionAuthenticationModule (SAM) tarafından WSFederationAuthenticationModule kullanılır; bu öncelikle ClaimsPrincipal kimliği doğrulanmış kullanıcıyla ve oturumun başlangıç ve sona erme zamanlarıyla ilişkilidir.

Pasif senaryolarda, WSFederationAuthenticationModuleSessionAuthenticationModule kimlik doğrulama işlem hattından (SAM) çağrısı yapar ve kimliği doğrulanmış kullanıcıyı temsil eden bir oturum belirteci ClaimsPrincipal oluşturur. SAM, belirteci oluşturmak ve bir tanımlama bilgisinde seri hale getirmek (ve sonraki isteklerde bir tanımlama bilgisinden belirteci seri durumdan çıkarmak için) için yapılandırılanını SessionSecurityTokenHandler kullanır. SAM, tanımlama bilgisini HTTP Yanıtına geri yazmak için yapılandırılmış CookieHandler sınıfının bir örneğini kullanır. Bu tanımlama bilgisi daha sonra istemciye döndürülür ve sonraki isteklerde istemci, kimlik sağlayıcısına bir güvenlik belirtecini yeniden almak için gidiş dönüş yapmak yerine tanımlama bilgisini sunabilir. Oturumların WIF ile nasıl çalıştığı hakkında daha fazla bilgi için bkz. WIF Oturum Yönetimi.

Not

<securityTokenHandlers> yapılandırma öğesi, uygulamanın oturumlarının güvenliğini sağlama sorumluluğuna sahip bir SessionSecurityTokenHandler belirtmek için kullanılabilir. Yanlış yapılandırılmış bir sistem uygulamanın güvenliğinin aşılmasına neden olabileceğinden, geliştiriciler bu yapılandırma ayarını değiştirirken dikkatli olmalıdır. Örneğin, türetilmiş SessionSecurityTokenHandler bir değerin belirtilmesi ve boş bir Transforms (CookieTransform) koleksiyonunun tabana geçirilmesi, kullanıcı kimliğinin korunmayan bir tanımlama bilgisinde seri hale getirilmesine neden olur. Bu, bir saldırganın kimliği değiştirmesine ve dolayısıyla erişim ayrıcalıklarını değiştirmesine olanak tanıyabilir.

Oturum belirteci başvuru modundaysa, yani özelliği isetrue, SessionSecurityToken.IsReferenceMode oturum belirteci işleyicisi yalnızca içinde anahtarını SessionSecurityTokenCacheyeniden oluşturmak için gereken oturum belirtecinin özelliklerini serileştirir. Varsayılan durumda, SessionSecurityTokenCacheKey önbellek anahtarlarını temsil etmek için sınıfı kullanılır ve belirteç işleyicisi belirtecin ve SessionSecurityToken.KeyGeneration özelliklerini yazarSessionSecurityToken.ContextId. Oturum belirteci başvuru modunda değilse, SessionSecurityToken.IsReferenceMode yani özelliği olur false, daha önce bahsedilen özelliklere ek olarak işleyici, belirteçten seri hale getirilmiş bir bayt dizisinde yöntemini çağırır ApplyTransforms ve sonuç değerini de tanımlama bilgisinde depolar. Belirtecin nasıl seri hale getirildiği hakkında daha fazla ayrıntı için yöntemine SessionSecurityTokenHandler.WriteToken(XmlWriter, SecurityToken) bakın.

özelliği, Transforms yöntemindeki oturum belirtecine ApplyTransforms uygulanan dönüşümlerin listesini alır. Tüm dönüşümler sınıfından CookieTransform türetilir. Varsayılan durumda DeflateCookieTransform ve ProtectedDataCookieTransform uygulanır. , ProtectedDataCookieTransform tanımlama bilgisi malzemesini korumak için Veri Koruma API'sini (DPAPI) kullanır. DPAPI, koruma algoritmalarında üzerinde çalıştığı bilgisayara özgü bir anahtar kullanır. Bu nedenle, web grubu senaryolarında varsayılan oturum belirteci işleyicisi kullanılamaz çünkü bu tür senaryolarda, bir bilgisayarda yazılan belirteçlerin başka bir bilgisayarda okunması gerekebilir. Bu sorunu aşmak için birçok strateji kullanabilirsiniz. Örneğin, şunları yapabilirsiniz:

Web grubu senaryolarında oturumları kullanma hakkında daha fazla bilgi için bkz . WIF ve Web Grupları.

SessionSecurityTokenHandler varsayılan belirteç işleyicisi koleksiyonuna dahil edilir; ancak, önce koleksiyondan varsayılan işleyiciyi kaldırmak için securityTokenHandlers> öğesinin< altında bir <remove> öğesi belirterek ve ardından add> öğesini kullanarak< özel belirteç işleyicinizi ekleyerek bunu özel bir oturum belirteci işleyicisiyle değiştirebilirsiniz. Varsayılan olarak, öğesinin altına sessionTokenRequirement> öğesini ekleyerek< varsayılan belirteç ömrünü belirtebilirsiniz.<add> Özel bir belirteç işleyicisi tasarlayabilir ve bunları işlemek için mantık sağlamak için yöntemini geçersiz kılarak öğesinin LoadCustomConfiguration altındaki <add> özel yapılandırma öğelerini alabilirsiniz.

Oluşturucular

SessionSecurityTokenHandler()

Varsayılan tanımlama bilgisi dönüşümlerini ve belirteç ömrünü kullanan sınıfının yeni bir örneğini SessionSecurityTokenHandler başlatır.

SessionSecurityTokenHandler(ReadOnlyCollection<CookieTransform>)

Belirtilen tanımlama bilgisi dönüşümlerini kullanan sınıfının yeni bir örneğini SessionSecurityTokenHandler başlatır.

SessionSecurityTokenHandler(ReadOnlyCollection<CookieTransform>, TimeSpan)

Belirtilen tanımlama bilgisi dönüşümlerini ve belirteç ömrünü kullanan sınıfının yeni bir örneğini SessionSecurityTokenHandler başlatır.

Alanlar

DefaultCookieTransforms

Tanımlama bilgilerine uygulanacak varsayılan dönüşümlerin listesini içeren salt okunur koleksiyon, DeflateCookieTransform ve ProtectedDataCookieTransform.

DefaultLifetime

Tanımlama bilgileri için varsayılan yaşam süresi (on saat) belirten bir sabit.

Özellikler

CanValidateToken

Bu işleyicinin türü SessionSecurityTokenbelirteç doğrulamayı destekleyip desteklemediğini gösteren bir değer alır.

CanWriteToken

Bu işleyicinin türünde SessionSecurityTokenbelirteçler yazıp yazamayacağını gösteren bir değer alır.

Configuration

Geçerli örnek için yapılandırma sağlayan nesneyi alır veya ayarlar SecurityTokenHandlerConfiguration .

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

Geçerli örneği içeren belirteç işleyici koleksiyonunu alır.

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

Tanımlama bilgisi öğesinin adını alır.

CookieNamespace

Tanımlama bilgisi öğesinin ad alanını alır.

DefaultTokenLifetime

Varsayılan belirteç ömrünü alır.

TokenLifetime

Belirteç ömrünü alır veya ayarlar.

TokenType

Bu işleyicinin işlediği belirteçlerin türünü alır.

Transforms

Tanımlama bilgisine uygulanacak dönüşümleri alır.

Yöntemler

ApplyTransforms(Byte[], Boolean)

Özelliği tarafından Transforms belirtilen dönüştürmeleri belirtilen tanımlama bilgisini kodlamak veya kodunu çözmek için uygular.

CanReadKeyIdentifierClause(XmlReader)

Belirtilen XML okuyucusu tarafından başvuruda bulunulur xml öğesinin bu örnek tarafından seri durumdan çıkarılabilir bir anahtar tanımlayıcı yan tümcesi olup olmadığını gösteren bir değer döndürür.

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

Belirtilen dizenin bu örnek tarafından işlenen türün belirteci olarak seri durumdan çıkarılıp seri durumdan çıkarılamayacağını gösteren bir değer döndürür.

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

Okuyucunun bir öğeye konumlandırılıp konumlandırılmadığını gösteren bir <wsc:SecurityContextToken> değer döndürür.

CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

Belirtilen anahtar tanımlayıcı yan tümcesinin bu örnek tarafından seri hale getirilip getirilemeyeceğini gösteren bir değer döndürür.

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

Türetilmiş bir sınıfta geçersiz kılındığında, bu sınıf tarafından işlenen belirteçler için güvenlik belirteci başvurusu oluşturur. Bu yöntem genellikle bir güvenlik belirteci hizmeti (STS) tarafından çağrılır.

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

Belirtecin geçerli olduğu belirtilen talep sorumlusunu ve zaman aralığını temel alan bir SessionSecurityToken oluşturur.

CreateToken(SecurityTokenDescriptor)

Belirtilen belirteç tanımlayıcısını temel alan bir güvenlik belirteci oluşturur.

DetectReplayedToken(SecurityToken)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen belirteç yeniden yürütülüyor olarak algılanırsa bir özel durum oluşturur.

(Devralındığı yer: SecurityTokenHandler)
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)
GetTokenTypeIdentifiers()

Bu işleyici tarafından işlenebilen belirteç türleri için belirteç türü URI'lerini alır.

GetType()

Type Geçerli örneğini alır.

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

XML'den özel yapılandırmayı yükler.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen XML okuyucusu tarafından başvuruda bulunan XML'nin seri durumdan çıkarılarak türetilen sınıf tarafından işlenen bir belirtece başvuran bir anahtar tanımlayıcı yan tümcesi kullanılır.

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

Belirtilen belirteç çözümleyicisini SessionSecurityToken kullanarak bayt akışından değerini okur.

ReadToken(String)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen dizeyi türetilmiş sınıf tarafından işlenen tür belirtecine seri durumdan çıkartır.

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

Belirtilen XML okuyucuyu kullanarak okur SessionSecurityToken .

ReadToken(XmlReader, SecurityTokenResolver)

Belirtilen XML okuyucuyu ve belirteç çözümleyicisini kullanarak öğesini SessionSecurityToken okur.

SetTransforms(IEnumerable<CookieTransform>)

Tanımlama bilgilerine uygulanacak dönüşümleri ayarlar.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

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

İzleme etkinleştirildiğinde güvenlik belirteçlerinin doğrulanması sırasında hata olayını izler.

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

İzleme etkinleştirildiğinde güvenlik belirteçlerinin başarılı bir şekilde doğrulanması olayını izler.

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

Belirtilen belirteçle ilişkili oturumun hala geçerli olup olmadığını belirler. Geçerlilik, belirtilen belirtecin ve ValidTo özellikleri denetlenerek ValidFrom belirlenir. Oturum artık geçerli değilse bir özel durum oluşturulur.

ValidateToken(SecurityToken)

Belirtilen belirteci doğrular ve taleplerini döndürür.

ValidateToken(SessionSecurityToken, String)

Belirtilen oturum belirtecini doğrular ve taleplerini döndürür.

WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen anahtar tanımlayıcı yan tümcesini XML'ye serileştirir. Anahtar tanımlayıcı yan tümcesi türetilen sınıf tarafından desteklenen türde olmalıdır.

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

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen güvenlik belirtecini bir dizeye serileştirir. Belirteç, türetilen sınıf tarafından işlenen türden olmalıdır.

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

Belirtilen belirteci bir bayt dizisi halinde serileştirir.

WriteToken(XmlWriter, SecurityToken)

Belirtilen XML yazıcısını kullanarak belirtilen belirteci serileştirir.

Şunlara uygulanır

Ayrıca bkz.