HttpListener.UnsafeConnectionNtlmAuthentication Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Boolean-Wert ab, der steuert, ob bei Verwendung von NTLM zusätzliche Anforderungen, die dieselbe TCP (Transmission Control Protocol)-Verbindung verwenden, authentifiziert werden müssen, oder legt diesen fest.
public:
property bool UnsafeConnectionNtlmAuthentication { bool get(); void set(bool value); };
public bool UnsafeConnectionNtlmAuthentication { get; set; }
member this.UnsafeConnectionNtlmAuthentication : bool with get, set
Public Property UnsafeConnectionNtlmAuthentication As Boolean
Eigenschaftswert
true
, wenn die IIdentity der ersten Anforderung für nachfolgende Anforderungen über dieselbe Verbindung verwendet wird, andernfalls false
. Der Standardwert ist false
.
Ausnahmen
Dieses Objekt wurde geschlossen.
Beispiele
Im folgenden Codebeispiel wird das Festlegen dieser Eigenschaft veranschaulicht.
public static void SimpleListenerWithUnsafeAuthentication(string[] prefixes)
{
// URI prefixes are required,
// for example "http://contoso.com:8080/index/".
if (prefixes == null || prefixes.Length == 0)
throw new ArgumentException("prefixes");
// Set up a listener.
HttpListener listener = new HttpListener();
foreach (string s in prefixes)
{
listener.Prefixes.Add(s);
}
listener.Start();
// Specify Negotiate as the authentication scheme.
listener.AuthenticationSchemes = AuthenticationSchemes.Negotiate;
// If NTLM is used, we will allow multiple requests on the same
// connection to use the authentication information of first request.
// This improves performance but does reduce the security of your
// application.
listener.UnsafeConnectionNtlmAuthentication = true;
// This listener does not want to receive exceptions
// that occur when sending the response to the client.
listener.IgnoreWriteExceptions = true;
Console.WriteLine("Listening...");
// ... process requests here.
listener.Close();
}
Public Shared Sub SimpleListenerWithUnsafeAuthentication(ByVal prefixes As String())
' URI prefixes are required,
' for example "http://contoso.com:8080/index/".
If prefixes Is Nothing OrElse prefixes.Length = 0 Then Throw New ArgumentException("prefixes")
' Set up a listener.
Dim listener As HttpListener = New HttpListener()
For Each s As String In prefixes
listener.Prefixes.Add(s)
Next
listener.Start()
' Specify Negotiate as the authentication scheme.
listener.AuthenticationSchemes = AuthenticationSchemes.Negotiate
' If NTLM Is used, we will allow multiple requests on the same
' connection to use the authentication information of first request.
' This improves performance but does reduce the security of your
' application.
listener.UnsafeConnectionNtlmAuthentication = True
' This listener does Not want to receive exceptions
' that occur when sending the response to the client.
listener.IgnoreWriteExceptions = True
Console.WriteLine("Listening...")
' ... process requests here.
listener.Close()
End Sub
Hinweise
Wenn diese Eigenschaft auf true
festgelegt ist und die erste Anforderung über eine bestimmte TCP-Verbindung mithilfe von NTLM authentifiziert wird, werden nachfolgende Anforderungen über dieselbe TCP-Verbindung mithilfe der Authentifizierungsinformationen (IIdentity) der anfänglichen Anforderung verarbeitet.
Diese Eigenschaft hat keine Auswirkungen, wenn das Authentifizierungsprotokoll nicht NTLM ist. Wenn Negotiate als Authentifizierungsprotokoll angegeben ist, wirkt sich diese Eigenschaft nur aus, wenn NTLM das eigentliche Protokoll für die Authentifizierung ist.
Hinweis
Das Festlegen dieser Eigenschaft auf true
erhöht die Leistung, da keine HttpListener zusätzlichen NTLM-Authentifizierungsanforderungen gesendet werden, aber es besteht ein Sicherheitsrisiko darin, dass nicht alle Anforderungen Authentifizierungsinformationen bereitstellen müssen. Sie müssen bestimmen, ob die Erhöhung der Leistung dieses Risiko wert ist.