SpnEndpointIdentity Klasa

Definicja

Reprezentuje nazwę główną usługi (SPN) dla tożsamości, gdy powiązanie używa protokołu Kerberos.

public ref class SpnEndpointIdentity : System::ServiceModel::EndpointIdentity
public class SpnEndpointIdentity : System.ServiceModel.EndpointIdentity
type SpnEndpointIdentity = class
    inherit EndpointIdentity
Public Class SpnEndpointIdentity
Inherits EndpointIdentity
Dziedziczenie
SpnEndpointIdentity

Przykłady

Poniższy kod przedstawia jeden typowy sposób tworzenia wystąpienia tej klasy.

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

Uwagi

Nazwa SPN to nazwa, za pomocą której klient jednoznacznie identyfikuje wystąpienie usługi. Jeśli instalujesz wiele wystąpień usługi na komputerach w lesie, każde wystąpienie musi mieć własną nazwę SPN. Dane wystąpienie usługi może mieć wiele nazw SPN, jeśli istnieje wiele nazw, których klienci mogą używać do uwierzytelniania.

Gdy klient chce nawiązać połączenie z usługą, lokalizuje wystąpienie usługi, tworzy nazwę SPN dla tego wystąpienia i ustawia tożsamość na SpnEndpointIdentity. Zostanie wykonane sprawdzenie, czy wiadomość jest przeznaczona dla tej usługi.

Trzy tryby uwierzytelniania używane w ramach protokołu Kerberos to:

  • SSPINegotiate

  • Kerberos

  • KerberosOverTransport.

Konstruktory

SpnEndpointIdentity(Claim)

Inicjuje nowe wystąpienie przy SpnEndpointIdentity użyciu określonego oświadczenia tożsamości.

SpnEndpointIdentity(String)

Inicjuje SpnEndpointIdentity nowe wystąpienie z określoną nazwą główną usługi (SPN).

Właściwości

IdentityClaim

Pobiera oświadczenie tożsamości, które odpowiada tożsamości.

(Odziedziczone po EndpointIdentity)
SpnLookupTime

Określa maksymalny czas wyszukiwania nazwy głównej usługi (SPN).

Metody

Equals(Object)

Zwraca wartość określającą, czy określony obiekt jest równy bieżącemu obiektowi tożsamości, czy mają równe właściwości zabezpieczeń.

(Odziedziczone po EndpointIdentity)
GetHashCode()

Zawiera kod skrótu dla bieżącego wystąpienia tożsamości.

(Odziedziczone po EndpointIdentity)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
Initialize(Claim)

Inicjuje element EndpointIdentity z określonym oświadczeniem.

(Odziedziczone po EndpointIdentity)
Initialize(Claim, IEqualityComparer<Claim>)

Inicjuje element EndpointIdentity z określonym oświadczeniem i interfejsem oraz porównuje równość.

(Odziedziczone po EndpointIdentity)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca tożsamość.

(Odziedziczone po EndpointIdentity)

Dotyczy