Udostępnij za pośrednictwem


EndpointIdentity.CreateSpnIdentity(String) Metoda

Definicja

Tworzy tożsamość głównej nazwy serwera (SPN) o określonej nazwie.

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

Parametry

spnName
String

Nazwa tożsamości SPN.

Zwraca

EndpointIdentity

Nazwa SPN EndpointIdentity skojarzona z określoną nazwą spnName.

Wyjątki

spnName to null.

Przykłady

Poniższy kod pokazuje, jak wywołać tę metodę.

// 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();

Uwagi

Bezpieczny klient WCF, który łączy się z punktem końcowym z tą tożsamością, używa nazwy SPN podczas przeprowadzania uwierzytelniania SSPI z punktem końcowym.

Ta metoda statyczna tworzy wystąpienie SpnEndpointIdentity obiektu przez wywołanie jego konstruktora , SpnEndpointIdentityprzy użyciu jako spnName parametru wejściowego.

Jeśli spnName jest określony z pustym ciągiem, uwierzytelnianie wraca z protokołu Kerberos do NTLM, jeśli jest to możliwe. Jeśli AllowNtlm jest to false, uwierzytelnianie nie powiedzie się.

Dotyczy