乌龟SVN:认证错误

4

我一直在遇到以下问题:

Unable to connect to a repository at URL 'xxx'
Error running context: An error occurred during authentication

我已尝试清除缓存和认证数据。 尝试使用命令行中的svn info --username xxx --password xxx --no-auth-cache。 尝试删除roaming/subversion、roaming/TortoiseSvn、local/TortoiseSVN,删除注册表中的TortoiseSVN并重新安装。 但还是出现同样的错误。 虽然我可以通过浏览器访问存储库。 有任何想法吗?
7个回答

5
如果是因为使用Microsoft账户而不是本地账户登录Windows引起的问题,则解决方案在下面的SO链接中。只是很难找到它,因为它并没有准确地谈论TortoiseSVN,而是TortoiseSVN底层的Subversion库: 在SVN中如何覆盖自动的Windows域身份验证 来自答案:
  1. 在"%AppData%\Subversion\servers"中添加以下行到[groups]:

    yoursvnserver_com = *.yoursvnserver.com

  2. 在同一文件的后面添加以下组:
  3. [yoursvnserver_com]

    http-auth-types=basic;digest


第一步中定义的路径在Windows上是错误的。这个"%AppData%\Subversion\servers"应该改为"%AppData%\Roaming\Subversion\servers" - user1653042

3

我也曾经遇到了同样的问题,尝试使用Windows凭据登录SVN时出错。我的计算机没有加入域。不确定我的计算机未加入域是否会导致此问题。

登录界面有一个“记住我的凭据”复选框。如果在登录SVN时不勾选该框,将会显示错误消息“身份验证期间发生错误”。如果勾选“记住我的凭据”,该问题就永远消失了。

我认为在我的情况下,子版本控制可能会在浏览或检出存储库期间多次引用这些凭据,因此不存储凭据将防止其完成。

其他一些留言板建议您手动在Windows凭据管理器中创建条目。勾选“记住我的凭据”似乎会自动创建此条目。


在回答问题之前,不要忘记检查问题的年龄。这个问题没有被接受的答案,你的回答可能会帮助未来的网站用户,所以我认为这很好。 - computercarguy
对我有用。问题是在我更改域密码后开始的。我清除了旧密码缓存,但仍然出现错误。勾选“记住我”是解决方案。+1 - Yogi

2

更新2020年:对我来说,这个错误是由于密码过期引起的。

我的Windows域密码已过期,请锁定屏幕并解锁以提示更改密码,之后问题便得到了解决。


0

前往"%APPDATA%\Subversion\auth"并删除所有文件。这将解决您的问题,请求新的凭据。


1
嘿Paraguas,你能更详细地解释一下为什么需要删除所有文件吗?从我读到的方式来看,这听起来相当危险。 - Steven
Steven,在我找到那个解决方案之前,我尝试了所有方法来验证我的 SVN 凭据,但都没有成功。但是,更具体地说,在该目录的配置中,您有 4 个文件夹,但只有一个文件夹有一个文件,即“svn.simple”文件夹。您可以毫不担心地删除该文件。这是一个冒险的决定,但它可以正常工作。 - Paraguas

0

请联系您的服务器系统管理员和管理员。如果不检查服务器上正在发生的情况以及其配置情况,您将无法解决此问题。

顺便说一下,请阅读https://stackoverflow.com/help/on-topic


我已经做过了。他检查了服务器日志,按用户名/ IP地址搜索时找不到我的任何记录。并说这可能是我的帐户或svn客户端的问题。我怀疑这不是我的帐户问题,因为我可以通过浏览器浏览svn。我重新安装了svn客户端,所以也不应该是它的问题。是不是Windows在某个地方保存了一些旧的svn凭据,而svn客户端只是从那里获取。顺便说一句,当我重新安装TortoiseSVN时,它仍然没有要求我提供任何凭据。 - Simas.B
@Simas.B,你的服务器是否使用Negotiate进行身份验证(集成Windows身份验证)?你在AD域中吗?你的计算机是否在域中? - bahrep
是的,我和我的电脑都在域中。不过,我不知道关于身份验证部分的协商。 - Simas.B
@Simas.B 首先,我非常确定服务器日志包含与此问题相关的事件。反复检查您用来访问存储库的URL,并检查Windows凭据管理器——有可能保存了一些无效凭据。 - bahrep
管理员检查了日志几次,当我尝试通过TortoiseSVN访问svn时,他说他没有找到任何东西。当我通过浏览器访问svn时,他才发现记录。我确定我正在使用正确的URL,我已经将错误消息中的URL复制粘贴到浏览器中并进行了访问。我已经检查了Windows凭据管理器,但什么也没有。我甚至尝试为svn添加凭据,但仍然出现相同的错误。 - Simas.B

0

前往 C:\Users\your_user\AppData\Roaming\Subversion\auth,删除所有文件。

这将要求您再次登录 SVN。


那并没有帮助。Subversion一开始就不会询问凭据。 - Martin

0

我遇到了同样的问题,并且成功解决了它。

我不知怎么地从本地账户切换到了Microsoft账户,导致(SVN服务器认证)发送了错误的账户信息。

一旦我切回本地账户,TortoiseSVN 就恢复正常了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接