HttpDigestClientCredential.AllowedImpersonationLevel Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the level of impersonation that the client allows with the client credential provided.
public:
property System::Security::Principal::TokenImpersonationLevel AllowedImpersonationLevel { System::Security::Principal::TokenImpersonationLevel get(); void set(System::Security::Principal::TokenImpersonationLevel value); };
public System.Security.Principal.TokenImpersonationLevel AllowedImpersonationLevel { get; set; }
member this.AllowedImpersonationLevel : System.Security.Principal.TokenImpersonationLevel with get, set
Public Property AllowedImpersonationLevel As TokenImpersonationLevel
Property Value
The TokenImpersonationLevel that the client grants the server as part of HTTP digest authentication.
Examples
The following example shows how to set this property.
// Create a service host.
EndpointAddress ea = new EndpointAddress("http://localhost/Calculator");
WSHttpBinding b = new WSHttpBinding(SecurityMode.Transport);
b.Security.Transport.ClientCredentialType = HttpClientCredentialType.Digest;
// Create a client. The code is not shown here. See the WCF samples
// for an example of the CalculatorClient code.
CalculatorClient cc = new CalculatorClient(b, ea);
// Get a reference to the Windows client credential object.
HttpDigestClientCredential digestCred = cc.ClientCredentials.HttpDigest;
Console.WriteLine("AllowedImpersonationLevel: {0}",
digestCred.AllowedImpersonationLevel);
Console.WriteLine("Domain: {0}", digestCred.ClientCredential.Domain);
Console.ReadLine();
// Change the AllowedImpersonationLevel.
digestCred.AllowedImpersonationLevel =
System.Security.Principal.TokenImpersonationLevel.Impersonation;
Console.WriteLine("Changed AllowedImpersonationLevel: {0}",
digestCred.AllowedImpersonationLevel);
Console.ReadLine();
// Open the calculator and use it.
//cc.Open();
//Console.WriteLine(cc.Add(11, 11));
//// Close the client.
//cc.Close();
' Create a service host.
Dim ea As New EndpointAddress("http://localhost/Calculator")
Dim b As New WSHttpBinding(SecurityMode.Transport)
b.Security.Transport.ClientCredentialType = _
HttpClientCredentialType.Digest
' Create a client. The code is not shown here. See the WCF samples
' for an example of the CalculatorClient code.
Dim cc As New CalculatorClient(b, ea)
' Get a reference to the Windows client credential object.
Dim digestCred As HttpDigestClientCredential = cc.ClientCredentials.HttpDigest
Console.WriteLine("AllowedImpersonationLevel: {0}", _
digestCred.AllowedImpersonationLevel)
Console.WriteLine("Domain: {0}", digestCred.ClientCredential.Domain)
Console.ReadLine()
' Change the AllowedImpersonationLevel.
digestCred.AllowedImpersonationLevel = _
System.Security.Principal.TokenImpersonationLevel.Impersonation
Console.WriteLine("Changed AllowedImpersonationLevel: {0}", _
digestCred.AllowedImpersonationLevel)
Console.ReadLine()
' Open the calculator and use it.
' cc.Open()
' Console.WriteLine(cc.Add(11, 11))
' Close the client.
' cc.Close()
Remarks
Allowable values include:
Identification, and
Due to the limitations of Digest authentication, when the client is using non-default credentials, only Impersonation
and Delegation
levels are allowed.