Claim 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.
Bir talebi temsil eder.
public ref class Claim
public class Claim
[System.Serializable]
public class Claim
type Claim = class
[<System.Serializable>]
type Claim = class
Public Class Claim
- Devralma
-
Claim
- Öznitelikler
Örnekler
Aşağıdaki örnek, BIR HTTP isteği gerçekleştiren kimliği doğrulanmış kullanıcıyla ilişkili talepleri ayıklar ve bunları HTTP yanıtına yazar. Geçerli kullanıcı HttpContextClaimsPrincipal olarak okunur ve talepler ondan okunur. Talepler daha sonra HttpResponse nesnesine yazılır.
ClaimsPrincipal principal = HttpContext.Current.User as ClaimsPrincipal;
if (null != principal)
{
foreach (Claim claim in principal.Claims)
{
Response.Write("CLAIM TYPE: " + claim.Type + "; CLAIM VALUE: " + claim.Value + "</br>");
}
}
Açıklamalar
Talep, verenin bir konuyla ilgili açıklamasıdır. Talepler, kimlik doğrulama ve yetkilendirme işlemleri bağlamında yararlı olan konunun özniteliklerini temsil eder. Konular ve verenler, bir kimlik senaryosunun parçası olan varlıklardır. Bir konunun bazı tipik örnekleri şunlardır: kullanıcı, uygulama veya hizmet, cihaz veya bilgisayar. Verenin bazı tipik örnekleri şunlardır: işletim sistemi, uygulama, hizmet, rol sağlayıcısı, kimlik sağlayıcısı veya federasyon sağlayıcısı. Veren, genellikle bir Güvenlik Belirteci Hizmeti (STS) aracılığıyla güvenlik belirteçleri vererek talepleri teslim eder. (WIF'de, SecurityTokenService sınıfından türeterek bir STS oluşturabilirsiniz.) Bazen, bir verenden alınan taleplerin koleksiyonu doğrudan kaynakta depolanan konu öznitelikleri tarafından uzatılabilir. Bir talep, yetkilendirme işlemi sırasında verilere ve diğer güvenli kaynaklara erişim haklarını belirlemek için değerlendirilebilir ve bir konu hakkında kimlik doğrulaması kararları almak veya ifade etmek için de kullanılabilir.
.NET 4.5'le başlayarak, talep tabanlı kimlik uygulayan Windows Identity Foundation (WIF) sınıfları .NET Framework ile tamamen tümleştirilmiştir. Talep kavramı Claim sınıfı tarafından uygulanır.
Aşağıda Claim sınıfının önemli özellikleri açıklanmaktadır:
Type özelliği, taleple ilgili anlam bilgilerini içeren bir dizedir (genellikle bir URI); talebin değerinin ne anlama geldiğini söyler. Örneğin, talep türü GivenName (
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"
) olan bir talep, kullanıcının adını temsil eder. Type özelliğinin değeri, ClaimTypes sınıfında tanımlanan iyi bilinen talep türlerinden biri olabilir veya veren tarafından tanımlanan rastgele bir URI olabilir. Örneğin, "urn:spendinglimit" talep türü, verenin iş bağlamında anlamlı olan bir kullanıcı özniteliğini temsil edebilir.Value özelliği, talebin değerini içerir. Bağımlılıkları azaltmak ve yönetimi basitleştirmek için WIF'de bir talebin değeri yalnızca dize olarak temsil edilir. Daha karmaşık değer türleri için, değerin bir dizede nasıl seri hale getirileceğini ve seri durumdan çıkarıldığını belirtmek için standart XML şema türlerini kullanmanız önerilir.
ValueType özelliği, değerin tür bilgilerini tanımlayan bir dize içerir. Bu özellik, değerin biçimini anlamak ve seri durumdan çıkarma hakkında bilgi sağlamak için kullanılmalıdır. Çözümünüz karmaşık değer türleri gerektiriyorsa, Value özelliğinin bir dizede nasıl seri hale getirileceğini ve seri durumdan çıkarıldığını belirtmek için ValueType özelliğinde standart XML şema türlerini kullanmanız önerilir.
Subject özelliği, talebin konusunu temsil eden bir ClaimsIdentity nesnesidir. Talebin konusu, talebin onaylandığı varlıktır (genellikle bir kaynağa erişim isteyen kullanıcı). ClaimsIdentity, özellikleri arasında, bir veya daha fazla veren tarafından doğrulandığı gibi konunun özelliklerini ve özniteliklerini açıklayan bir talep koleksiyonu içerir.
Issuer özelliği, talebi veren varlığın adını içerir. Bir talebi veren, WIF'de, veren adı kayıt defteri tarafından tutulan iyi bilinen verenler listesinden alınan bir adı içeren bir dizeyle temsil edilir. Veren adı kayıt defteri, IssuerNameRegistry sınıfından türetilen bir sınıfın örneğidir. Veren adı kayıt defteri, ilgili veren tarafından üretilen belirteçlerin imzalarını doğrulamak için gereken şifreleme malzemesiyle bir anımsatıcı adı ilişkilendirir. Örneğin, .NET 4.5 ile kutusundan kullanılabilen ConfigurationBasedIssuerNameRegistry sınıfı, her verenin anımsatıcı adını ilgili X.509 sertifikasıyla ilişkilendirir. İyi bilinen verenlerin listesi genellikle başlangıç zamanında verenin adı kayıt defteri tarafından oluşturulur. ConfigurationBasedIssuerNameRegistry tarafından kullanılan liste, uygulama yapılandırma dosyasında belirtilir.
OriginalIssuer özelliği, ilk olarak talebi veren varlığın adını içerir. Bu özellik, bir talebin istemci tarafından RP uygulamasına sunulmadan önce birden çok verenden geçebileceği senaryoları kolaylaştırmak için tasarlanmıştır; federasyon senaryoları gibi. İlk olarak talebi veren varlığı belirlemek için OriginalIssuer özelliğini inceleyebilirsiniz. Ad, Issuer özelliğinde olduğu gibi veren adı kayıt defteri tarafından tutulan iyi bilinen verenler listesinden alınır.
Oluşturucular
Claim(BinaryReader, ClaimsIdentity) |
Belirtilen okuyucu ve konu ile Claim sınıfının yeni bir örneğini başlatır. |
Claim(BinaryReader) |
Belirtilen BinaryReaderile bir Claim örneği başlatır. |
Claim(Claim, ClaimsIdentity) |
Belirtilen güvenlik talebi ve konu ile Claim sınıfının yeni bir örneğini başlatır. |
Claim(Claim) |
Claim sınıfının yeni bir örneğini başlatır. |
Claim(String, String, String, String, String, ClaimsIdentity) |
Belirtilen talep türü, değer, değer türü, veren, özgün veren ve konu ile Claim sınıfının yeni bir örneğini başlatır. |
Claim(String, String, String, String, String) |
Belirtilen talep türü, değer, değer türü, veren ve özgün veren ile Claim sınıfının yeni bir örneğini başlatır. |
Claim(String, String, String, String) |
Belirtilen talep türü, değer, değer türü ve veren ile Claim sınıfının yeni bir örneğini başlatır. |
Claim(String, String, String) |
Belirtilen talep türü, değer ve değer türüyle Claim sınıfının yeni bir örneğini başlatır. |
Claim(String, String) |
Belirtilen talep türü ve değeriyle Claim sınıfının yeni bir örneğini başlatır. |
Özellikler
CustomSerializationData |
Türetilmiş bir tür tarafından sağlanan tüm ek verileri içerir. |
Issuer |
Talebi vereni alır. |
OriginalIssuer |
Talebin özgün verenini alır. |
Properties |
Bu taleple ilişkili ek özellikleri içeren bir sözlük alır. |
Subject |
Talebin konusunu alır. |
Type |
Talebin talep türünü alır. |
Value |
Talebin değerini alır. |
ValueType |
Talebin değer türünü alır. |
Yöntemler
Clone() |
Bu nesneden kopyalanan yeni bir Claim nesnesi döndürür. Yeni talebin konusu yok. |
Clone(ClaimsIdentity) |
Bu nesneden kopyalanan yeni bir Claim nesnesi döndürür. Yeni talebin konusu belirtilen ClaimsIdentity olarak ayarlanır. |
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) |
GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Bu Claim nesnesinin dize gösterimini döndürür. |
WriteTo(BinaryWriter, Byte[]) |
Bu Claim yazara yazar. |
WriteTo(BinaryWriter) |
Bu Claim yazara yazar. |