c# – SharpSVN ForceCredentials覆盖身份验证缓存

SVN就像用于许多不同目的的每个成熟工具一样复杂. SharpSVN尝试以编程方式公开所有SVN功能,因此它也很复杂.我只是尝试在一台机器上授权一个具有给定用户名/密码的工具,其中TortioseSVN在同一SVN服务器(领域)上用于其他目的.

var client = new SvnClient();
client.Authentication.ForceCredentials("userName", "password");

不幸的是,这将TortioseSVN缓存的现有凭证替换为该工具使用的凭证.是否有一种简单的方法可以避免覆盖身份验证缓存并忽略其中的内容?

最佳答案 通过订阅client.Authentication属性的UserNameHandlers和UserNamePasswordHandlers事件,可能性是无穷无尽的,最简单的解决方案似乎如下:

var client = new SvnClient();
client.Authentication.Clear();
client.Authentication.DefaultCredentials = new NetworkCredential("userName", "password");
点赞