EndpointIdentity.CreateSpnIdentity(String) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea un'identità del nome principale del server (SPN) con un nome specificato.
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
Parametri
- spnName
- String
Nome dell'identità SPN.
Restituisce
Classe EndpointIdentity SPN associata al parametro spnName
specificato.
Eccezioni
spnName
è null
.
Esempio
Nell'esempio di codice seguente viene mostrato come chiamare questo metodo.
// 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();
Commenti
Un client WCF sicuro che si connette a un endpoint con questa identità usa il nome SPN durante l'esecuzione dell'autenticazione SSPI con l'endpoint.
Questo metodo statico crea un'istanza di SpnEndpointIdentity chiamando il relativo costruttore SpnEndpointIdentity con il parametro spnName
come parametro di input.
Se il parametro spnName
viene specificato con una stringa vuota, l'autenticazione passa, se possibile, da Kerberos a NTLM. Se AllowNtlm è false
, l'autenticazione ha esito negativo.