.net credentials defaultnetworkcredentials

.net - DefaultNetworkCredentials o DefaultCredentials



(2)

¿Cuál se supone que debo usar cuando necesito proporcionar una credencial para un proxy (local o en red)?

¿Cuál es la diferencia exacta entre estos dos?


La diferencia entre los dos es muy sutil. DefaultNetworkCredentials es la más nueva de las dos (agregada con .NET 2.0), y la diferencia principal es que, bajo ciertas condiciones de seguridad, puede exponer más información privada sobre el usuario que ha iniciado sesión a la aplicación. Para más información, prueba este blog:

http://blogs.msdn.com/buckh/archive/2004/07/28/199706.aspx


Son exactamente lo mismo, lo que puede confirmarse utilizando un desensamblador como Reflector. La única diferencia es que DefaultNetworkCredentials devuelve un objeto NetworkCredentials y DefaultCredentials lo ICredentials en ICredentials . Entonces, tiene acceso a más información con un objeto NetworkCredentials, pero cuál de los que usa suministra un objeto que requiere una instancia de ICredentials no hace ninguna diferencia, ya que es la misma instancia de objeto: object.ReferenceEquals(CredentialCache.DefaultCredentials, CredentialCache.DefaultNetworkCredentials) devuelve true