Compartir a través de


EndpointIdentity.CreateSpnIdentity(String) Método

Definición

Crea una identidad de nombre de entidad de seguridad de servidor (SPN) con un nombre especificado.

public:
 static System::ServiceModel::EndpointIdentity ^ CreateSpnIdentity(System::String ^ spnName);
public static System.ServiceModel.EndpointIdentity CreateSpnIdentity (string spnName);
static member CreateSpnIdentity : string -> System.ServiceModel.EndpointIdentity
Public Shared Function CreateSpnIdentity (spnName As String) As EndpointIdentity

Parámetros

spnName
String

Nombre para la identidad SPN.

Devoluciones

EndpointIdentity

SPN EndpointIdentity asociado al spnName especificado.

Excepciones

spnName es null.

Ejemplos

El siguiente código muestra cómo llamar a este método.

// Create the service host.
ServiceHost myServiceHost = new ServiceHost(typeof(Calculator));

// Create the binding.
WSHttpBinding binding = new WSHttpBinding();
binding.Security.Mode = SecurityMode.Message;
binding.Security.Message.ClientCredentialType =
     MessageCredentialType.Windows;

// Disable credential negotiation and establishment of the
// security context.
binding.Security.Message.NegotiateServiceCredential = false;
binding.Security.Message.EstablishSecurityContext = false;

// Create a URI for the endpoint address.
Uri httpUri = new Uri("http://localhost/Calculator");

// Create the EndpointAddress with the SPN for the Identity.
EndpointAddress ea = new EndpointAddress(httpUri,
    EndpointIdentity.CreateSpnIdentity("service_spn_name"));

// Get the contract from the ICalculator interface (not shown here).
// See the sample applications for an example of the ICalculator.
ContractDescription contract = ContractDescription.GetContract(
    typeof(ICalculator));

// Create a new ServiceEndpoint.
ServiceEndpoint se = new ServiceEndpoint(contract, binding, ea);

// Add the service endpoint to the service.
myServiceHost.Description.Endpoints.Add(se);

// Open the service.
myServiceHost.Open();
Console.WriteLine("Listening...");
Console.ReadLine();

// Close the service.
myServiceHost.Close();

Comentarios

Un cliente WCF seguro que se conecta a un punto de conexión con esta identidad usa el SPN al realizar la autenticación SSPI con el punto de conexión.

Este método estático crea una instancia de SpnEndpointIdentity llamando a su constructor, SpnEndpointIdentity, utilizando spnName como parámetro de entrada.

Si spnName se especifica con una cadena vacía, la autenticación se retirará de Kerberos a NTLM si es posible. Si AllowNtlm es false, se produce un error de autenticación.

Se aplica a