Partilhar via


HttpWebRequest.UnsafeAuthenticatedConnectionSharing Propriedade

Definição

Obtém ou define um valor que indica se o compartilhamento de conexão autenticada por NTLM de alta velocidade deve ser permitido.

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

Valor da propriedade

true manter a conexão autenticada aberta; caso contrário, false.

Comentários

Cuidado

WebRequest, HttpWebRequest, ServicePointe WebClient estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.

O valor padrão dessa propriedade é false, o que faz com que a conexão atual seja fechada após a conclusão de uma solicitação. Seu aplicativo deve passar pela sequência de autenticação sempre que emitir uma nova solicitação.

Se essa propriedade estiver definida como true, a conexão usada para recuperar a resposta permanecerá aberta após a autenticação ter sido executada. Nesse caso, outras solicitações que têm essa propriedade definida como true podem usar a conexão sem autenticar novamente. Em outras palavras, se uma conexão tiver sido autenticada para o usuário A, o usuário B poderá reutilizar a conexão de A; A solicitação do usuário B é atendida com base nas credenciais do usuário A.

Cuidado

Como é possível que um aplicativo use a conexão sem ser autenticado, você precisa ter certeza de que não há nenhuma vulnerabilidade administrativa em seu sistema ao definir essa propriedade como true. Se o aplicativo enviar solicitações para vários usuários (representar várias contas de usuário) e depender da autenticação para proteger recursos, não defina essa propriedade como true a menos que você use grupos de conexões, conforme descrito abaixo.

Talvez você queira considerar habilitar esse mecanismo se você estiver tendo problemas de desempenho e seu aplicativo estiver em execução em um servidor Web com autenticação integrada do Windows.

Habilitar essa configuração abre o sistema para riscos de segurança. Se você definir a propriedade UnsafeAuthenticatedConnectionSharing para true certifique-se de tomar as seguintes precauções:

  • Use a propriedade ConnectionGroupName para gerenciar conexões para usuários diferentes. Isso evita o uso potencial da conexão por aplicativos não autenticados. Por exemplo, o usuário A deve ter um nome de grupo de conexão exclusivo diferente do usuário B. Isso fornece uma camada de isolamento para cada conta de usuário.

  • Execute seu aplicativo em um ambiente protegido para ajudar a evitar possíveis explorações de conexão.

Se você controlar o servidor de back-end, como alternativa, poderá considerar desativar a persistência de autenticação. Isso aumenta o desempenho em menor grau, mas é mais seguro. Para obter mais detalhes, consulte AuthPersistence.

Nota

Se PreAuthenticate e UnsafeAuthenticatedConnectionSharing estiverem definidos como true, cada solicitação será enviada usando uma conexão do pool não seguro, mas com um cabeçalho de Autorização.

Aplica-se a