EndpointIdentity.CreateSpnIdentity(String) Methode

Definition

Erstellt eine SPN-Identität (Server Principal Name) mit dem angegebenen Namen.Creates a server principal name (SPN) identity with a specified name.

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

Parameter

spnName
String

Der Name der SPN-Identität.The name for the SPN identity.

Gibt zurück

Eine SPN-EndpointIdentity, die mit dem angegebenen spnName verknüpft ist.An SPN EndpointIdentity associated with the specified spnName.

Ausnahmen

spnName ist nullspnName is null.

Beispiele

Der folgende Code zeigt eine Möglichkeit, wie diese Methode aufgerufen werden kann.The following code shows how to call this method.

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

Hinweise

Ein sicherer WCF-Client, der mit dieser Identität eine Verbindung mit einem Endpunkt herstellt, verwendet den SPN beim Ausführen der SSPI-Authentifizierung mit dem Endpunkt.A secure WCF client that connects to an endpoint with this identity uses the SPN when performing SSPI authentication with the endpoint.

Diese statische Methode erstellt eine Instanz von SpnEndpointIdentity, indem sie ihren Konstruktor SpnEndpointIdentity aufruft und dabei spnName als den Eingabeparameter verwendet.This static method creates an instance of SpnEndpointIdentity by calling its constructor, SpnEndpointIdentity, using spnName as the input parameter.

Wenn für spnName eine leere Zeichenfolge angegeben wird, fällt die Authentifizierung nach Möglichkeit von Kerberos auf NTLM zurück.If spnName is specified with an empty string, authentication falls back from Kerberos to NTLM if possible. Die Authentifizierung schlägt fehl, wenn AllowNtlm den Wert false aufweist.If AllowNtlm is false, authentication fails.

Gilt für: