SessionSecurityTokenHandler 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.
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
- Türetilmiş
Örnekler
Aşağıdaki XML, bir belirteç işleyicisi koleksiyonundaki varsayılan oturum güvenlik belirteci işleyicisinin yapılandırmadaki sınıfının bir örneğiyle nasıl değiştirileceğini MachineKeySessionSecurityTokenHandler 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çimindeki ve tanımlama bilgisi biçimindeki belirteçleri seri hale getirmektedir. Varsayılan olarak, sınıf belirteçleri WS-Secure Konuşma Şub2005 veya WS-Secure Konuşma 1.3 <wsc:SecurityContextToken> öğelerine serileştirir. Oturum belirteçleri , (WSFAM) ve SessionAuthenticationModule (SAM) tarafından WSFederationAuthenticationModule bir oturum hakkındaki bilgileri depolamak için kullanılır; bu öncelikle ClaimsPrincipal kimliği doğrulanmış kullanıcıyla ve oturumun başlangıç ve sona erme süreleriyle ilişkilidir.
Pasif senaryolarda, WSFederationAuthenticationModuleSessionAuthenticationModule kimliği doğrulanmış kullanıcıyı temsil eden oturum belirtecini oluşturmak için kimlik doğrulama işlem hattından ClaimsPrincipal (SAM) çağrısı yapar. SAM, belirteci oluşturmak ve bir tanımlama bilgisi olarak seri hale getirmek (ve sonraki isteklerde tanımlama bilgisinden belirteci seri durumdan çıkarmak için) için yapılandırılan 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.
Uyarı
<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 uygulama 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 belirtip boş bir Dönüşümler (CookieTransform) koleksiyonunu tabana geçirmek, kullanıcı kimliğinin korunmayan bir tanımlama bilgisi halinde serileştirilmesine 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 izin verebilir.
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, yani SessionSecurityToken.IsReferenceMode ö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çta elde edilen değeri de tanımlama bilgisinde depolar. Belirtecin nasıl seri hale getirildiği hakkında daha fazla bilgi 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 ç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 bilgisayara yazılan belirteçlerin başka bir bilgisayarda okunması gerekebilir. Bu sorunu aşmak için birçok strateji kullanabilirsiniz. Örneğin şunları yapabilirsiniz:
varsayılan SessionSecurityTokenHandler değerini ile MachineKeySessionSecurityTokenHandlerdeğiştirin. , MachineKeySessionSecurityTokenHandler yapılandırma dosyasındaki ASP.NET
<machineKey>öğesi altında imzalama ve şifreleme anahtarları belirtmenizi sağlar.global.asax.cs dosyasındaki olay için FederatedAuthentication.FederationConfigurationCreated bir işleyici sağlayın ve varsayılan oturum belirteci işleyicisini ve RsaEncryptionCookieTransformiçeren dönüşümlerin listesini içeren RsaSignatureCookieTransform bir örneğiyle SessionSecurityTokenHandler değiştirin. Dönüşüm listesini alan oluşturuculardan birini çağırarak yeni örneği oluşturabilirsiniz.
Temel sınıftan CookieTransform özel bir dönüşüm türetin ve uygulanacak dönüşümler listesine eklemek için yukarıdaki yöntemi kullanın.
uygulamasından SessionSecurityTokenHandler özel bir belirteç işleyicisi türetin ve kendi mekanizmanızı uygulayın.
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, varsayılan işleyiciyi koleksiyondan kaldırmak için önce 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 tasarlayarak özel yapılandırma öğelerini işlemek için mantığı sağlamak için yöntemini geçersiz kılarak LoadCustomConfiguration öğesinin altına <add> alabilirsiniz.
Oluşturucular
| Name | Description |
|---|---|
| SessionSecurityTokenHandler() |
Varsayılan tanımlama bilgisi dönüşümlerini ve belirteç ömrünü kullanan sınıfı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. |
| SessionSecurityTokenHandler(ReadOnlyCollection<CookieTransform>) |
Belirtilen tanımlama bilgisi dönüşümlerini kullanan sınıfının yeni bir örneğini SessionSecurityTokenHandler başlatır. |
Alanlar
| Name | Description |
|---|---|
| DefaultCookieTransforms |
Tanımlama bilgilerine DeflateCookieTransform uygulanacak varsayılan dönüşümlerin listesini içeren salt okunur koleksiyon ve ProtectedDataCookieTransform. |
| DefaultLifetime |
Tanımlama bilgileri için varsayılan yaşam süresi olan on saati belirten sabit. |
Özellikler
| Name | Description |
|---|---|
| CanValidateToken |
Bu işleyicinin türünde 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
| Name | Description |
|---|---|
| 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 bulunılan 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. (Devralındığı yer: SecurityTokenHandler) |
| CanReadToken(String) |
Belirtilen dizenin bu örnek tarafından işlenen türün belirteci olarak seri durumdan çıkarılıp çı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 |
| CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause) |
Belirtilen anahtar tanımlayıcı yan tümcesinin bu örnek tarafından serileştirilip serileştirilemeyeceğ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() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| LoadCustomConfiguration(XmlNodeList) |
XML'den özel yapılandırma yükler. |
| MemberwiseClone() |
Geçerli Objectbasit 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 öğesini 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ün belirtecine seri durumdan çıkar. (Devralındığı yer: SecurityTokenHandler) |
| ReadToken(XmlReader, SecurityTokenResolver) |
SessionSecurityToken Belirtilen XML okuyucuyu ve belirteç çözümleyicisini kullanarak öğesini okur. |
| ReadToken(XmlReader) |
Belirtilen XML okuyucuyu kullanarak öğesini SessionSecurityToken okur. |
| SetTransforms(IEnumerable<CookieTransform>) |
Tanımlama bilgilerine uygulanacak dönüşümleri ayarlar. |
| ToString() |
Geçerli nesneyi temsil eden bir dize 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 için serileştirir. Anahtar tanımlayıcı yan tümcesi, türetilmiş 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üretilmiş sınıf tarafından işlenen türden olmalıdır. (Devralındığı yer: SecurityTokenHandler) |
| WriteToken(SessionSecurityToken) |
Belirtilen belirteci bir bayt dizisine serileştirir. |
| WriteToken(XmlWriter, SecurityToken) |
Belirtilen XML yazıcısını kullanarak belirtilen belirteci serileştirir. |