2012-07-24 18 views
6

Tengo un servicio web ASP.NET MVC 4. En mi cuadro dev, estoy ejecutando IIS Express 7.5, así que estamos llamando a localhost: puerto. Lo configuré para usar Autenticación de Windows y apagué Anónimo.HttpWebRequest + Windows Auth - NetworkCredential simplemente no funciona

En mi cliente, si fijo

HttpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials; 

funciona. Pero si establezco las credenciales en mi otra cuenta de dominio de Windows,

HttpWebRequest.Credentials = new NetworkCredential("lpuplett", "catsGoW00f", "ntdom")); 

luego obtengo un 401 no autorizado. Estoy malentendiendo algo; ¿Debería esto funcionar?

He intentado agregar las credenciales a un objeto CredentialCache y establecer el caché al cruzar los dedos y también con los ojos bien cerrados, realmente con la esperanza.

Gracias,

Lucas

RESOLVER

pasamos 3 horas buscando y después de la publicación de mi propia pregunta que aterrizaron en la respuesta, aquí en la confianza SO:

Domain credentials for a WebClient class don't work

Gracias por nada ;-)

Respuesta

5

Desde comentario en cuestión duplicado vinculado:

es necesario especificar el tipo de autenticación. Cuando el servidor desafía al cliente con autenticación NTLM, se llamará al método ICredentials.GetCredential en WebClient.Credentials con authType = "NTLM". Si usó WebClient.Credential = new NetworkCredential (...) dado que no se especifica ningún tipo de autenticación , el cliente no podrá responder correctamente. CredentialCache ya implementa esta funcionalidad. - Darin Dimitrov 5 de noviembre de 2009 a las 14:57

Cuestiones relacionadas