2013-06-12 2 views
2

Я использую SharpSVN.Сохранять локальные данные аутентификации SVN с помощью SharpSVN

Я хочу сохранить учетные данные SVN в ПК.

Я пытаюсь установить учетные данные обновления учетных данных по умолчанию

using (SvnClient client = new SvnClient()) 
{ 
    client.Authentication.DefaultCredentials = new System.Net.NetworkCredential("user", "password"); 
    ... 
} 

но не сохраняет данные.

Я обнаружил, что SharpSvn предоставляет графический интерфейс по умолчанию для ввода учетных данных. Этот GUI имеет флаг для хранения данных. Здесь ссылки, где я нашел информацию:

Вот код, чтобы использовать его:

using (SvnClient client = new SvnClient()) 
{ 
    // Bind the SharpSvn UI to our client for SSL certificate and credentials 
    SharpSvn.UI.SharpSvnUI.Bind(client, IWin32Window); 
    .... 
} 

Но это сделать для Windows. Формы и я использую WPF. Кроме того, я не мог использовать этот графический интерфейс по умолчанию.

Кто-нибудь сейчас, как это сделать?

Спасибо!

ответ

5

Я нашел ответ!

Для сохранения учетных данных в компьютере используется

using (SvnClient client = new SvnClient()) 
{ 
    //Save localy new Authentication credentials 
    client.Authentication.UserNamePasswordHandlers 
    += delegate(object obj, SharpSvn.Security.SvnUserNamePasswordEventArgs args) 
    { 
     args.UserName = "username"; 
     args.Password = "password"; 
     args.Save= true; 
    }; 
} 

Часто я нашел решение для добавления учетных данных в кэше , но это не будет хранить учетные данные в компьютере. Эти учетные данные действительны только для жизни SvnClient. сообщить ответ для полноты

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

я нашел часть ответа здесь

И здесь:

http://sharpsvn.open.collab.net/ds/viewMessage.do?dsMessageId=140680&dsForumId=728

глядя на метод DialogUserNamePasswordHandler

http://sharpsvn.open.collab.net/svn/sharpsvn/trunk/src/SharpSvn.UI/SvnClientUIHandler.cs

Для использования доступа:

  • Имя пользователя: гостевой
  • пароль не нужен
+3

.Authentication.Clear() отцепляет кеш учетных данных на диске. Если вы исправили .Clear(), то .Save = true сохранит учетные данные, как ожидалось. –

Смежные вопросы