WindowsClientCredential.AllowedImpersonationLevel Eigenschaft

Definition

Ruft die zulässige Identitätswechselebene ab oder legt sie fest.

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

Eigenschaftswert

TokenImpersonationLevel

Einer der TokenImpersonationLevel-Werte.

Beispiele

Im folgenden Beispiel wird das Festlegen dieser Eigenschaft veranschaulicht.

// Create a service host.
EndpointAddress ea = new EndpointAddress("http://localhost/Calculator");
WSHttpBinding b = new WSHttpBinding(SecurityMode.Message);
b.Security.Message.ClientCredentialType = MessageCredentialType.Windows;

// 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.
WindowsClientCredential winCred= cc.ClientCredentials.Windows;
Console.WriteLine("AllowedImpersonationLevel: {0}",
    winCred.AllowedImpersonationLevel);
Console.WriteLine("AllowNtlm: {0}", winCred.AllowNtlm);
Console.WriteLine("Domain: {0}", winCred.ClientCredential.Domain);

Console.ReadLine();
// Change the AllowedImpersonationLevel.
winCred.AllowedImpersonationLevel =
    System.Security.Principal.TokenImpersonationLevel.Impersonation;

Console.WriteLine("Changed AllowedImpersonationLevel: {0}",
    winCred.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.Message)
b.Security.Message.ClientCredentialType = _
MessageCredentialType.Windows

' 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 winCred As WindowsClientCredential = cc.ClientCredentials.Windows
Console.WriteLine("AllowedImpersonationLevel: {0}", _
                 winCred.AllowedImpersonationLevel)
Console.WriteLine("AllowNtlm: {0}", winCred.AllowNtlm)
Console.WriteLine("Domain: {0}", winCred.ClientCredential.Domain)

Console.ReadLine()
' Change the AllowedImpersonationLevel.
winCred.AllowedImpersonationLevel = _
System.Security.Principal.TokenImpersonationLevel.Impersonation

Console.WriteLine("Changed AllowedImpersonationLevel: {0}", _
winCred.AllowedImpersonationLevel)
Console.ReadLine()
' Open the calculator and use it.
' cc.Open()
' Console.WriteLine(cc.Add(11, 11))
' Close the client.
' cc.Close()

Hinweise

Diese Eigenschaft gibt die vom Client an den Server erteilte Ebene des Identitätswechsels bei Verwendung der Windows-Authentifizierung mit SSPI-Aushandlung an. Beachten Sie, dass die vom Server beim Imitieren des Clienttokens abgerufene Ebene für den Identitätswechsel nicht nur eine Funktion dieser Einstellung ist. Sie ist auch eine Funktion der zugehörigen Berechtigungen und Domäneneinstellungen für das Konto, in dem der Dienst ausgeführt wird.

Der Client muss die zulässige Ebene für den Identitätswechsel explizit mit dieser Eigenschaft festlegen.

Wenn der Client den anonymen Identitätswechsel angibt, wird der Client immer als anonym für den Dienst authentifiziert, auch wenn im Dienst kein Identitätswechsel ausgeführt wird. Dies hängt mit zugrunde liegendem Verhalten des Windows-Betriebssystems zusammen.

Weitere Informationen zu Windows Identitätswechseln gehen Sie zu "Identitätswechsel" und "Rückgängigmachen". Weitere Informationen zur Identitätswechsel mithilfe von Windows Communication Foundation finden Sie unter Delegierung und Identitätswechsel.

Gilt für