Aracılığıyla paylaş


EndpointIdentity.CreateSpnIdentity(String) Yöntem

Tanım

Belirtilen ada sahip bir sunucu asıl adı (SPN) kimliği oluşturur.

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

Parametreler

spnName
String

SPN kimliğinin adı.

Döndürülenler

EndpointIdentity

Belirtilen spnNameile ilişkilendirilmiş bir SPNEndpointIdentity.

Özel durumlar

spnName, null değeridir.

Örnekler

Aşağıdaki kodda bu yöntemin nasıl çağrılacakları gösterilmektedir.

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

Açıklamalar

Bu kimlikle bir uç noktaya bağlanan güvenli bir WCF istemcisi, uç noktayla SSPI kimlik doğrulaması gerçekleştirirken SPN'yi kullanır.

Bu statik yöntem, SpnEndpointIdentitygiriş parametresi olarak kullanarak spnName oluşturucusunu çağırarak öğesinin bir örneğini SpnEndpointIdentity oluşturur.

Boş bir dizeyle belirtilirse spnName , mümkünse kimlik doğrulaması Kerberos'tan NTLM'ye geri döner. ise AllowNtlm false, kimlik doğrulaması başarısız olur.

Şunlara uygulanır