2010-06-23 6 views

Répondre

45

Utilisez les propriétés Authentifier de SVNClient:

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

Doit être marqué comme meilleure réponse. A travaillé pour moi aussi, merci! – jocull

+0

oui a travaillé pour moi aussi merci Bertrand :) – picnic4u

+1

Cela ne fonctionne pas pour moi, y at-il une condition préalable pour cela? –

9

Vous pouvez également remplacer des erreurs de certificat SSL en ajoutant un gestionnaire d'événements à SslServerTrustHandlers comme ceci:

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

Juste pour que cela soit mentionné: N'appelez pas 'client.authentication.clear()' après vous être abonné à l'événement, sinon il ne se déclenchera pas. – SanBen

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

Pour ceux vous qui ne voulez pas perdre vos informations d'identification par défaut (si vous exécutez TortoiseSVN sur la même machine).

2

Dans mon cas, le serveur SVN exécutait VisualSVN Server 3.5.3 avec l'authentification Windows intégrée activée. En utilisant SharpSvn 1.9004.3879.127, le client SVN a essayé d'utiliser l'authentification Windows, même lorsque j'ai configuré avec un nom d'utilisateur et mot de passe:

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

Cela a donné lieu à l'erreur suivante lorsque le code d'application a été exécuté par un utilisateur Windows qui didn 't ont accès au dépôt:

SvnRepositoryIOException: Impossible de se connecter à un référentiel à l'adresse' https://mysvnserver/svn/reponame '

Je fixe par ce 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"); 
Questions connexes