tortoise tag migrar create svn authentication sharpsvn

tag - svn trunk



Autenticación de repositorio SVN con SharpSVN (4)

En mi caso, el servidor SVN ejecutaba VisualSVN Server 3.5.3 con la Autenticación de Windows integrada habilitada. Usando SharpSvn 1.9004.3879.127, el cliente SVN intentó usar la autenticación de Windows incluso cuando lo configuré con un nombre de usuario y contraseña:

client = new SvnClient(); client.Authentication.Clear(); //Prevents saving/loading config to/from disk client.Authentication.DefaultCredentials = new NetworkCredential("username", "password");

Esto produjo el siguiente error cuando el código de la aplicación fue ejecutado por un usuario de Windows que no tenía acceso al repositorio:

SvnRepositoryIOException: no se puede conectar a un repositorio en la URL '' https://mysvnserver/svn/reponame ''

Lo arreglé solo al permitir basic autenticación basic y digest :

client = new SvnClient(); client.Configuration.SetOption("servers", "global", "http-auth-types", "basic;digest"); client.Authentication.Clear(); // Prevents saving/loading config to/from disk client.Authentication.DefaultCredentials = new NetworkCredential("username", "password");

¿Alguien puede decirme cómo autenticar usuarios (usuarios SVN) para un repositorio usando la Biblioteca SharpSVN? Ese repositorio solo debe ser comprometido por esos usuarios. Gracias


También puede anular los errores de certificado SSL al agregar un controlador de eventos a SslServerTrustHandlers siguiente manera:

SVN_Conn.Authentication.SslServerTrustHandlers += new EventHandler<SharpSvn.Security.SvnSslServerTrustEventArgs>(SVN_SSL_Override); static void SVN_SSL_Override(object sender, SharpSvn.Security.SvnSslServerTrustEventArgs e) { e.AcceptedFailures = e.Failures; e.Save = true; }


Use las propiedades de autenticación de SVNClient :

client.Authentication.Clear(); // Clear a previous authentication client.Authentication.DefaultCredentials = new System.Net.NetworkCredential("user", "password");


client.Authentication.ForceCredentials("user", "password");

Para aquellos de ustedes que no quieren deshacerse de sus credenciales predeterminadas (si está ejecutando TortoiseSVN en la misma máquina).