2010-06-23 14 views

Respuesta

45

Utilice las propiedades Autenticar de SVNClient:

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

Debe marcarse como la mejor respuesta. Trabajó para mí también, gracias! – jocull

+0

sí funcionó para mí también, gracias Bertrand :) – picnic4u

+1

Esto no funciona para mí, ¿hay algún requisito previo para esto? –

9

también puede anular los errores de certificado SSL mediante la adición de un controlador de eventos para SslServerTrustHandlers así:

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; 
} 
+4

Solo para que se haya mencionado: No llame a 'client.authentication.clear()' después de suscribirse al evento, de lo contrario, no se activará. – SanBen

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

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

2

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 trató de usar la autenticación de Windows, incluso cuando he configurado 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 dio como resultado el siguiente error cuando el código de la aplicación se ejecuta por un usuario de Windows que didn 't tienen acceso al repositorio:

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

he arreglado esto only allowing basic and digest authentication:

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");