HttpWebRequest.UnsafeAuthenticatedConnectionSharing Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, czy ma być dozwolone udostępnianie połączenia o dużej szybkości przez uwierzytelnianie NTLM.Gets or sets a value that indicates whether to allow high-speed NTLM-authenticated connection sharing.

public:
 property bool UnsafeAuthenticatedConnectionSharing { bool get(); void set(bool value); };
public bool UnsafeAuthenticatedConnectionSharing { get; set; }
member this.UnsafeAuthenticatedConnectionSharing : bool with get, set
Public Property UnsafeAuthenticatedConnectionSharing As Boolean

Wartość właściwości

Boolean

true zachować otwarte połączenie uwierzytelnione; w przeciwnym razie false.true to keep the authenticated connection open; otherwise, false.

Uwagi

Wartość domyślna tej właściwości to false, co powoduje zamknięcie bieżącego połączenia po zakończeniu żądania.The default value for this property is false, which causes the current connection to be closed after a request is completed. Aplikacja musi przechodzić przez sekwencję uwierzytelniania za każdym razem, gdy wystawia nowe żądanie.Your application must go through the authentication sequence every time it issues a new request.

Jeśli ta właściwość ma wartość true, połączenie używane do pobrania odpowiedzi pozostanie otwarte po przeprowadzeniu uwierzytelniania.If this property is set to true, the connection used to retrieve the response remains open after the authentication has been performed. W takim przypadku inne żądania, które mają tę właściwość ustawioną true mogą korzystać z połączenia bez ponownego uwierzytelniania.In this case, other requests that have this property set to true may use the connection without re-authenticating. Innymi słowy, jeśli połączenie zostało uwierzytelnione dla użytkownika A, użytkownik B może ponownie użyć połączenia; żądanie użytkownika B jest spełnione na podstawie poświadczeń użytkownika A.In other words, if a connection has been authenticated for user A, user B may reuse A's connection; user B's request is fulfilled based on the credentials of user A.

Przestroga

Ze względu na to, że aplikacja może korzystać z połączenia bez uwierzytelniania, należy się upewnić, że w systemie nie ma żadnych luk w zabezpieczeniach podczas ustawiania tej właściwości na true.Because it is possible for an application to use the connection without being authenticated, you need to be sure that there is no administrative vulnerability in your system when setting this property to true. Jeśli aplikacja wysyła żądania dla wielu użytkowników (personifikuje wiele kont użytkowników) i korzysta z uwierzytelniania w celu ochrony zasobów, nie ustawiaj tej właściwości na true, chyba że używasz grup połączeń zgodnie z poniższym opisem.If your application sends requests for multiple users (impersonates multiple user accounts) and relies on authentication to protect resources, do not set this property to true unless you use connection groups as described below.

Warto rozważyć włączenie tego mechanizmu, jeśli występują problemy z wydajnością, a aplikacja jest uruchomiona na serwerze sieci Web ze zintegrowanym uwierzytelnianiem systemu Windows.You may want to consider enabling this mechanism if your are having performance problems and your application is running on a Web server with integrated Windows authentication.

Włączenie tego ustawienia powoduje otwarcie systemu pod kątem zagrożeń bezpieczeństwa.Enabling this setting opens the system to security risks. W przypadku ustawienia właściwości UnsafeAuthenticatedConnectionSharing na true należy wykonać następujące środki ostrożności:If you set the UnsafeAuthenticatedConnectionSharing property to true be sure to take the following precautions:

  • Użyj właściwości ConnectionGroupName, aby zarządzać połączeniami dla różnych użytkowników.Use the ConnectionGroupName property to manage connections for different users. Pozwala to uniknąć potencjalnego użycia połączenia przez aplikacje nieuwierzytelnione.This avoids the potential use of the connection by non-authenticated applications. Na przykład użytkownik A powinien mieć unikatową nazwę grupy połączeń, która różni się od użytkownika B. Zapewnia to warstwę izolacji dla każdego konta użytkownika.For example, user A should have a unique connection group name that is different from user B. This provides a layer of isolation for each user account.

  • Uruchom aplikację w chronionym środowisku, aby uniknąć możliwych luk w zabezpieczeniach.Run your application in a protected environment to help avoid possible connection exploits.

Jeśli kontrolujesz serwer zaplecza, możesz rozważyć wyłączenie trwałości uwierzytelniania.If you control the back-end server, as an alternative you might consider turning off authentication persistence. Zwiększa to wydajność w mniejszym stopniu, ale jest bezpiecznie.This increases performance to a lesser degree, but it is safer. Aby uzyskać więcej informacji, zobacz AuthPersistence.For more details, see AuthPersistence.

Uwaga

Jeśli PreAuthenticate i UnsafeAuthenticatedConnectionSharing są ustawione na true, każde żądanie jest wysyłane przy użyciu połączenia z puli niebezpiecznej, ale z nagłówkiem autoryzacji.If both PreAuthenticate and UnsafeAuthenticatedConnectionSharing are set to true, each request is sent using a connection from the unsafe pool, but with an Authorization header.

Dotyczy