Aracılığıyla paylaş


SpnEndpointIdentity Sınıf

Tanım

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
SpnEndpointIdentity

Ö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)

Şunlara uygulanır