SpnEndpointIdentity Klas

Definitie

Vertegenwoordigt een SPN (Service Principal Name) voor een identiteit wanneer de binding Kerberos gebruikt.

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

Voorbeelden

In de volgende code ziet u een veelvoorkomende manier om een exemplaar van deze klasse te maken.

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

Opmerkingen

Een SPN is de naam waarmee een client een exemplaar van een service uniek identificeert. Als u meerdere exemplaren van een service installeert op computers in een forest, moet elk exemplaar een eigen SPN hebben. Een bepaald service-exemplaar kan meerdere SPN's hebben als er meerdere namen zijn die clients kunnen gebruiken voor verificatie.

Wanneer een client verbinding wil maken met een service, wordt een exemplaar van de service gevonden, wordt een SPN voor dat exemplaar samengesteld en wordt de identiteit ingesteld op een SpnEndpointIdentity. Er wordt gecontroleerd of het bericht is bedoeld voor die service.

De drie verificatiemodi die worden gebruikt onder Kerberos zijn:

  • SSPINegotiate

  • Kerberos

  • KerberosOverTransport.

Constructors

Name Description
SpnEndpointIdentity(Claim)

Initialiseert een nieuw exemplaar van SpnEndpointIdentity met de opgegeven identiteitsclaim.

SpnEndpointIdentity(String)

Initialiseert een nieuw exemplaar van SpnEndpointIdentity met de opgegeven SPN (Service Principal Name).

Eigenschappen

Name Description
IdentityClaim

Hiermee haalt u de identiteitsclaim op die overeenkomt met de identiteit.

(Overgenomen van EndpointIdentity)
SpnLookupTime

Hiermee geeft u de maximale tijd die is toegestaan om de SPN (Service Principal Name) op te zoeken.

Methoden

Name Description
Equals(Object)

Retourneert een waarde die bepaalt of een opgegeven object gelijk is aan het huidige identiteitsobject of dat deze dezelfde beveiligingseigenschappen hebben.

(Overgenomen van EndpointIdentity)
GetHashCode()

Biedt een hash-code voor het huidige exemplaar van de identiteit.

(Overgenomen van EndpointIdentity)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
Initialize(Claim, IEqualityComparer<Claim>)

Initialiseert een EndpointIdentity met de opgegeven claim en een interface en vergelijkt gelijkheid.

(Overgenomen van EndpointIdentity)
Initialize(Claim)

Initialiseert een EndpointIdentity met de opgegeven claim.

(Overgenomen van EndpointIdentity)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert de identiteit.

(Overgenomen van EndpointIdentity)

Van toepassing op