使用当前的HTTP请求标识作为SharpSVN的默认凭据

时间:2009-09-04 04:43:14

标签: .net security sharpsvn

我正在尝试通过Web应用程序在SharpSVN中调用RemoteCreateDirectories,并希望凭据是登录用户的凭据。这可以隐式完成,还是根据以下示例所需的用户名和密码?

using (var svnClient = new SvnClient())
{
  svnClient.Authentication.DefaultCredentials = new NetworkCredential(@"aaa\bbb", "ccc");
  svnClient.LoadConfiguration(repoName);
  svnClient.RemoteCreateDirectories(uris, args);
}

我不想请求用户提供凭据(这是一个集成的auth应用程序),所以我看到的另一种方法是使用不理想的服务帐户。

3 个答案:

答案 0 :(得分:1)

CredentialCache.DefaultCredentials包含当前凭据的标记。它不提供实际的用户名和/或密码。

您需要确切的用户名和密码才能通过SharpSvn将它们传递给Subversion库。

答案 1 :(得分:0)

您是否尝试过使用CredentialCache.DefaultCredentials - 这应该包含当前登录用户的凭据。

http://support.microsoft.com/kb/813834

答案 2 :(得分:0)

最后找到一个reference,基本上说使用当前用户的身份是不可能的,唯一的选择是手动构建目录树或使用管理员/服务帐户。我选择了后者;虽然不理想,但我仍在运作。