HttpWebRequest.UnsafeAuthenticatedConnectionSharing Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta un valore che indica se consentire la condivisione di connessioni NTLM ad alta velocità.
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
Valore della proprietà
true
mantenere aperta la connessione autenticata; in caso contrario, false
.
Commenti
Cautela
WebRequest
, HttpWebRequest
, ServicePoint
e WebClient
sono obsoleti e non è consigliabile usarli per nuovi sviluppi. Usare invece HttpClient.
Il valore predefinito per questa proprietà è false
, che determina la chiusura della connessione corrente dopo il completamento di una richiesta. L'applicazione deve passare attraverso la sequenza di autenticazione ogni volta che invia una nuova richiesta.
Se questa proprietà è impostata su true
, la connessione usata per recuperare la risposta rimane aperta dopo l'esecuzione dell'autenticazione. In questo caso, altre richieste con questa proprietà impostata su true
possono usare la connessione senza ripetere l'autenticazione. In altre parole, se una connessione è stata autenticata per l'utente A, l'utente B può riutilizzare la connessione di A; La richiesta dell'utente B viene soddisfatta in base alle credenziali dell'utente A.
Cautela
Poiché è possibile che un'applicazione usi la connessione senza essere autenticata, è necessario assicurarsi che non vi sia alcuna vulnerabilità amministrativa nel sistema quando si imposta questa proprietà su true
. Se l'applicazione invia richieste per più utenti (rappresenta più account utente) e si basa sull'autenticazione per proteggere le risorse, non impostare questa proprietà su true
a meno che non si usino gruppi di connessioni come descritto di seguito.
È consigliabile prendere in considerazione l'abilitazione di questo meccanismo se si verificano problemi di prestazioni e l'applicazione è in esecuzione in un server Web con autenticazione integrata di Windows.
L'abilitazione di questa impostazione apre il sistema ai rischi per la sicurezza. Se si imposta la proprietà UnsafeAuthenticatedConnectionSharing su true
assicurarsi di adottare le precauzioni seguenti:
Utilizzare la proprietà ConnectionGroupName per gestire le connessioni per utenti diversi. In questo modo si evita l'uso potenziale della connessione da parte di applicazioni non autenticate. Ad esempio, l'utente A deve avere un nome di gruppo di connessione univoco diverso dall'utente B. In questo modo viene fornito un livello di isolamento per ogni account utente.
Eseguire l'applicazione in un ambiente protetto per evitare possibili exploit di connessione.
Se si controlla il server back-end, in alternativa è possibile disattivare la persistenza dell'autenticazione. Ciò aumenta le prestazioni in misura minore, ma è più sicuro. Per altri dettagli, vedere AuthPersistence.
Nota
Se sia PreAuthenticate che UnsafeAuthenticatedConnectionSharing sono impostati su true
, ogni richiesta viene inviata usando una connessione dal pool non sicuro, ma con un'intestazione Di autorizzazione.