2010-06-23 37 views

Antwort

45

Verwenden Sie die Authentifizieren Eigenschaften von SVNClient:

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

Sollte als beste Antwort markiert werden. Arbeitete auch für mich, danke! – jocull

+0

ja hat auch für mich funktioniert Danke Bertrand :) – picnic4u

+1

Das geht bei mir nicht, gibt es da Voraussetzungen dafür? –

9

Sie können auch durch Hinzufügen eines Ereignishandler SslServerTrustHandlers wie dieses SSL-Zertifikat Fehler außer Kraft setzen:

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

Nur so, dass es erwähnt wurde: Rufen Sie nicht 'client.authentication.clear()' nach dem Abonnieren des Ereignisses auf, sonst wird es nicht ausgelöst. – SanBen

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

Für diejenigen, Sie möchten Ihre Standardanmeldeinformationen nicht löschen (wenn Sie TortoiseSVN auf demselben Computer ausführen).

2

In meinem Fall wurde auf dem SVN-Server VisualSVN Server 3.5.3 mit integrierter Windows-Authentifizierung ausgeführt. Mit SharpSvn 1.9004.3879.127 versuchte das SVN-Client der Windows-Authentifizierung zu verwenden, selbst wenn ich es mit einem Benutzername und Passwort konfigurierte:

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

Dies führte zu dem folgenden Fehler, wenn der Anwendungscode von einem Benutzer Windows ausgeführt wurde, die didn 't Zugriff auf das Repository haben:

SvnRepositoryIOException: Kann nicht ein Repository an URL verbinden' https://mysvnserver/svn/reponame '

ich dies durch only allowing basic and digest authentication fixed:

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