EndpointIdentity.CreateSpnIdentity(String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した名前を持つサーバー プリンシパル名 (SPN) ID を作成します。
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
パラメーター
- spnName
- String
SPN ID の名前。
戻り値
指定した EndpointIdentity に関連付けられた SPN spnName
。
例外
spnName
が null
です。
例
このメソッドを呼び出す方法を次のコードに示します。
// 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();
注釈
この ID を使用してエンドポイントに接続するセキュリティで保護された WCF クライアントは、エンドポイントで SSPI 認証を実行するときに SPN を使用します。
この静的メソッドは、コンストラクター SpnEndpointIdentity を呼び出し、SpnEndpointIdentity を入力パラメーターとして使用することで、spnName
のインスタンスを作成します。
spnName
が空の文字列で指定される場合、認証は、可能であれば Kerberos の代わりに NTLM を使用します。 AllowNtlm が false
である場合、アサーションは失敗します。