SpnEndpointIdentity Clase

Definición

Representa un nombre de entidad de seguridad de servicio (SPN) para una identidad cuando el enlace usa Kerberos.

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

Ejemplos

El código siguiente muestra una manera común de crear una instancia de esta clase.

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

Comentarios

SPN es el nombre por el que un cliente identifica de manera unívoca una instancia de un servicio. Si instala varias instancias de un servicio en equipos de un bosque, cada instancia debe tener su propio SPN. Una instancia de servicio determinada puede tener varios SPN si hay varios nombres que los clientes pueden usar para la autenticación.

Cuando un cliente quiere conectarse a un servicio, busca una instancia del servicio, compone un SPN para esa instancia y establece la identidad en .SpnEndpointIdentity Se realizará una comprobación de que el mensaje está destinado a ese servicio.

Los tres modos de autenticación usados en Kerberos son:

  • SSPINegotiate

  • Kerberos

  • KerberosOverTransport.

Constructores

Nombre Description
SpnEndpointIdentity(Claim)

Inicializa una nueva instancia de con la notificación de SpnEndpointIdentity identidad especificada.

SpnEndpointIdentity(String)

Inicializa una nueva instancia de con el nombre de entidad de seguridad de SpnEndpointIdentity servicio (SPN) especificado.

Propiedades

Nombre Description
IdentityClaim

Obtiene la notificación de identidad que corresponde a la identidad.

(Heredado de EndpointIdentity)
SpnLookupTime

Especifica el tiempo máximo permitido para buscar el nombre de entidad de seguridad de servicio (SPN).

Métodos

Nombre Description
Equals(Object)

Devuelve un valor que determina si un objeto especificado es igual al objeto de identidad actual o si tienen propiedades de seguridad iguales.

(Heredado de EndpointIdentity)
GetHashCode()

Proporciona un código hash para la instancia actual de la identidad.

(Heredado de EndpointIdentity)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
Initialize(Claim, IEqualityComparer<Claim>)

Inicializa con EndpointIdentity la notificación especificada y una interfaz y compara la igualdad.

(Heredado de EndpointIdentity)
Initialize(Claim)

Inicializa un EndpointIdentity objeto con la notificación especificada.

(Heredado de EndpointIdentity)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()

Devuelve la identidad.

(Heredado de EndpointIdentity)

Se aplica a