HttpWebRequest.UnsafeAuthenticatedConnectionSharing Propriedade

Definição

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

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 para manter a conexão autenticada aberta, caso contrário, false.

Comentários

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 for definida truecomo , 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 truecomo . 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 true como, 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 do Windows integrados.

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

  • Use a ConnectionGroupName propriedade 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 que seja 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 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.

Observação

Se e PreAuthenticateUnsafeAuthenticatedConnectionSharing estiverem definidos truecomo , cada solicitação será enviada usando uma conexão do pool não seguro, mas com um cabeçalho authorization.

Aplica-se a