Puede alguien dar una explicación clara de la diferencia entre el uso deDiferencia entre ClientCredentialType = = Windows y NTLM
clientCredentialType=Windows
yclientCredentialType=Ntlm
en un Web.config del lado del servidor cuando ¿Hospedaje de un servicio WCF?
Tengo un 1.1 (basicHttpBinding
) Servicio de SOAP para interoperabilidad con los clientes existentes. Utiliza roles ASP.NET, por lo que necesita que los clientes sean autenticados.
Cuando utilizo el servidor VS2005 (Cassini) para alojar el servicio, tengo que especificar ClientCredentialType=Ntlm
que el anterior, y marca la casilla autenticación NTLM en las propiedades del proyecto en VS2005. ClientCredentialType=Windows
no funciona - los clientes consiguen una:
401 de error no autorizado
Sin embargo, cuando estoy corriendo bajo IIS, es al revés: ClientCredentialType=Windows
obras, y ClientCredentialType=Ntlm
falla.
¿Alguien puede explicar esto, y preferiblemente sugerir una manera en que puedo tener el mismo archivo web.config para ejecutar el servicio en Cassini e IIS?
actualización
tengo .NET 3.5 SP1 en mi máquina dev, que está corriendo XP SP2 en un dominio. Por lo tanto, Cassini se ejecuta bajo una cuenta de dominio e IIS 5.1 bajo una cuenta local.
Me pregunto si podría estar relacionado con el cambio de rotura en .NET 3.5SP1 descrito en estos artículos.
http://www.aspnetpro.com/newsletterarticle/2008/12/asp200812ab_l/asp200812ab_l.asp http://msmvps.com/blogs/alvin/archive/2008/11/14/net-3-5-sp1-breaking-change-to-wcf.aspx http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=354236
La situación suena similar a clientCredentialType=Windows
falla cuando el servidor se ejecuta en una cuenta de dominio (que es mi situación con Cassini - corriendo como mi cuenta de usuario de dominio normal), y funciona cuando se ejecuta bajo una cuenta local (que es mi situación con IIS).
El problema es que las soluciones sugeridas requieren cambios en un archivo de configuración del cliente WCF, pero en mi caso estoy usando SOAP 1.1 (basicHttpBinding
) con clientes que no son WCF.
Gracias. Lo he leído y tengo una idea superficial de la diferencia entre NTLM y Windows. Pero no por qué Windows no funciona con Cassini. – Joe