HttpWebRequest.UnsafeAuthenticatedConnectionSharing Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Recebe ou define um valor que indica se deve permitir partilha de ligação NTLM autenticada em alta velocidade.
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 de Propriedade
true para manter a ligação autenticada aberta; caso contrário, false.
Observações
Atenção
WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.
O valor predefinido desta propriedade é false, que faz com que a ligação atual seja encerrada após a conclusão de um pedido. A sua aplicação deve passar pela sequência de autenticação sempre que emite um novo pedido.
Se esta propriedade for definida para true, a ligação usada para recuperar a resposta permanece aberta após a autenticação ter sido realizada. Neste caso, outros pedidos que tenham esta propriedade definida para true podem usar a ligação sem reautenticação. Por outras palavras, se uma ligação foi autenticada para o utilizador A, o utilizador B pode reutilizar a ligação de A; o pedido do utilizador B é cumprido com base nas credenciais do utilizador A.
Atenção
Como é possível que uma aplicação use a ligação sem ser autenticada, precisa de garantir que não existe qualquer vulnerabilidade administrativa no seu sistema ao definir esta propriedade como true. Se a sua aplicação envia pedidos para múltiplos utilizadores (faz-se passar por várias contas de utilizador) e depende da autenticação para proteger os recursos, não defina esta propriedade como true a menos que use grupos de ligação conforme descrito abaixo.
Pode querer considerar ativar este mecanismo se estiver a ter problemas de desempenho e a sua aplicação estiver a correr num servidor Web com Windows authentication integrada.
Ativar esta configuração expõe o sistema a riscos de segurança. Se definir a UnsafeAuthenticatedConnectionSharing propriedade, true certifique-se de tomar as seguintes precauções:
Use a ConnectionGroupName propriedade para gerir ligações para diferentes utilizadores. Isto evita a possível utilização da ligação por aplicações não autenticadas. Por exemplo, o utilizador A deve ter um nome único de grupo de ligação diferente do utilizador B. Isto proporciona uma camada de isolamento para cada conta de utilizador.
Execute a sua aplicação num ambiente protegido para ajudar a evitar possíveis explorações de ligação.
Se controlas o servidor back-end, como alternativa podes considerar desligar a persistência de autenticação. Isto aumenta o desempenho em menor grau, mas é mais seguro. Para mais detalhes, veja AuthPersistence.
Note
Se tanto PreAuthenticate como UnsafeAuthenticatedConnectionSharing estiverem definidos para true, cada pedido é enviado através de uma ligação do pool inseguro, mas com um cabeçalho de Autorização.