SpnEndpointIdentity 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.
Bağlama Kerberos kullandığında bir kimlik için hizmet asıl adını (SPN) temsil eder.
public ref class SpnEndpointIdentity : System::ServiceModel::EndpointIdentity
public class SpnEndpointIdentity : System.ServiceModel.EndpointIdentity
type SpnEndpointIdentity = class
inherit EndpointIdentity
Public Class SpnEndpointIdentity
Inherits EndpointIdentity
- Devralma
Örnekler
Aşağıdaki kod, bu sınıfın bir örneğini oluşturmanın yaygın yollarından birini gösterir.
static EndpointIdentity CreateIdentity()
{
WindowsIdentity self = WindowsIdentity.GetCurrent();
SecurityIdentifier sid = self.User;
EndpointIdentity identity = null;
if (sid.IsWellKnown(WellKnownSidType.LocalSystemSid) ||
sid.IsWellKnown(WellKnownSidType.NetworkServiceSid) ||
sid.IsWellKnown(WellKnownSidType.LocalServiceSid))
{
identity = EndpointIdentity.CreateSpnIdentity(
string.Format(CultureInfo.InvariantCulture, "host/{0}", GetMachineName()));
}
else
{
// Need an UPN string here
string domain = GetPrimaryDomain();
if (domain != null)
{
string[] split = self.Name.Split('\\');
if (split.Length == 2)
{
identity = EndpointIdentity.CreateUpnIdentity(split[1] + "@" + domain);
}
}
}
return identity;
}
Private Shared Function CreateIdentity() As EndpointIdentity
Dim self As WindowsIdentity = WindowsIdentity.GetCurrent()
Dim sid As SecurityIdentifier = self.User
Dim identity As EndpointIdentity = Nothing
If sid.IsWellKnown(WellKnownSidType.LocalSystemSid) OrElse sid.IsWellKnown(WellKnownSidType.NetworkServiceSid) OrElse sid.IsWellKnown(WellKnownSidType.LocalServiceSid) Then
identity = EndpointIdentity.CreateSpnIdentity(String.Format(CultureInfo.InvariantCulture, "host/{0}", GetMachineName()))
Else
' Need an UPN string here
Dim domain As String = GetPrimaryDomain()
If domain IsNot Nothing Then
Dim split() As String = self.Name.Split("\"c)
If split.Length = 2 Then
identity = EndpointIdentity.CreateUpnIdentity(split(1) & "@" & domain)
End If
End If
End If
Return identity
End Function
Açıklamalar
SPN, istemcinin bir hizmet örneğini benzersiz olarak tanımladığı addır. Bir ormandaki bilgisayarlara bir hizmetin birden çok örneğini yüklerseniz, her örneğin kendi SPN'sine sahip olması gerekir. İstemcilerin kimlik doğrulaması için kullanabileceği birden çok ad varsa, belirli bir hizmet örneğinde birden çok SPN olabilir.
bir istemci bir hizmete bağlanmak istediğinde, hizmetin bir örneğini bulur, bu örnek için bir SPN oluşturur ve kimliği olarak SpnEndpointIdentityayarlar. İletinin söz konusu hizmete yönelik olup olmadığını kontrol edin.
Kerberos altında kullanılan üç kimlik doğrulama modu şunlardır:
SSPINegotiate
Kerberos
KerberosOverTransport.
Oluşturucular
SpnEndpointIdentity(Claim) |
Belirtilen kimlik talebiyle yeni bir örneğini SpnEndpointIdentity başlatır. |
SpnEndpointIdentity(String) |
Belirtilen hizmet asıl adıyla (SPN) yeni bir örneğini SpnEndpointIdentity başlatır. |
Özellikler
IdentityClaim |
Kimliğe karşılık gelen kimlik iddiasını alır. (Devralındığı yer: EndpointIdentity) |
SpnLookupTime |
Hizmet asıl adını (SPN) aramak için izin verilen en uzun süreyi belirtir. |
Yöntemler
Equals(Object) |
Belirtilen nesnenin geçerli kimlik nesnesine eşit olup olmadığını veya eşit güvenlik özelliklerine sahip olup olmadığını belirleyen bir değer döndürür. (Devralındığı yer: EndpointIdentity) |
GetHashCode() |
Kimliğin geçerli örneği için bir karma kodu sağlar. (Devralındığı yer: EndpointIdentity) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
Initialize(Claim) |
Belirtilen taleple bir EndpointIdentity başlatır. (Devralındığı yer: EndpointIdentity) |
Initialize(Claim, IEqualityComparer<Claim>) |
Belirtilen talep ve arabirim ile bir EndpointIdentity başlatır ve eşitliği karşılaştırır. (Devralındığı yer: EndpointIdentity) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Kimliği döndürür. (Devralındığı yer: EndpointIdentity) |