【问题标题】:Commit to VisualSVN fails auth rejected提交到 VisualSVN 失败,身份验证被拒绝
【发布时间】:2012-12-03 05:58:04
【问题描述】:

我在提交由 VisualSVN 服务器支持的 subversion 存储库时遇到问题。 我可以签出代码并更新,所以我使用的用户名和密码是正确的。 但是,当我尝试提交时,我得到一致的授权失败。 我试过非交互式、交互式、命令行、svnX、版本,结果都一样。

svn: Commit failed (details follow):
svn: MKACTIVITY of 'xxxxxx/4a1e3c7e-8efd-47f0-abf6-80239ee625c8': authorization failed: Could not authenticate to server: rejected Basic challenge

仓库显然是在 https 下运行的。

多年来,我一直在命令行中使用其他 SVN 存储库,但从未遇到过这个问题。我已经阅读了很多关于这个问题的帖子,但是他们都遇到了通过颠覆在本地存储的身份验证无效的问题,我清除了这些缓存,但没有。

尤其是因为结帐和更新工作,我很难过。 我还可以使用相同的凭据登录到运行 VisualSVN 服务器的 Windows 服务器。

VisualSVN 服务器版本为 2.5.1 在 OSX 上运行的 svn 版本 1.6.17 (r1128011)

任何帮助将不胜感激。

【问题讨论】:

  • 我在 CentOS 上用 svn 的命令行客户端尝试了同样的方法。结果相同。我还尝试了不同的配置来设置 subversion 应该存储密码的位置,例如.subversion/auth 和 Keychain。密码存储正确,但没有成功。
  • 您的密码是否包含任何非 ASCII 符号?例如。 £(我是指您尝试登录的帐户的密码)
  • 在不成功的身份验证尝试中,VisualSVN 服务器的日志中记录了什么?见visualsvn.com/support/topic/00028
  • 我最终发现了问题所在。我们在主从配置中运行两个颠覆档案,它们使用不同的身份验证机制。所有读取都转到一个存档,我使用我使用的密码访问权限,而写入转到另一个存档(无论使用的 url),其中密码错误。

标签: svn authentication authorization basic-authentication visualsvn-server


【解决方案1】:

我使用 VisualSVN 服务器和 TortoiseSVN 客户端已经有一段时间了,在尝试从新安装的客户端访问存储库时,我曾多次遇到身份验证错误。

查看事件日志(VisualSVN 服务器记录到 Windows 事件日志)后,我注意到错误消息指出找不到用户。但是我知道用户存在,并且我已将服务器配置为使用 Subversion 身份验证。

我发现Subversion 身份验证使用区分大小写的用户名。 Subversion 用户以大写字母开头,我尝试在客户端上仅使用小写字母。这可能是我每次遇到这个问题的原因。

【讨论】:

    【解决方案2】:

    您不应被错误措辞所迷惑。虽然错误指出的第一件事是authorization failed 这里真正的信息部分是Could not authenticate to server: rejected Basic challenge

    如果不查看 VisualSVN 服务器日志顺便说一句,这种行为很难解决。

    当您看到错误rejected Basic challenge时,请按照一个简单的检查清单对问题进行故障排除:

    1. [Cpt.明显模式开启] 检查密码是否有效。连续输入3次错误密码就可以看到错误了,

    2. 仔细检查密码是否包含非 ASCII 字符(例如 £üä 等) .您可以使用非 ASCII 符号的密码登录 Windows,但基本身份验证类型不支持非 ASCII 字符。您可以通过切换到 Integrated Windows Authentication 来解决此问题,但这是另一个问题。

    如果以上步骤都不能帮助您解决更深层次的问题:

    1. Check VisualSVN Server log。身份验证尝试失败会记录什么?

    2. 检查 Windows 安全日志。您可以在那里看到可以澄清行为的相关事件。例如。您可以看到由Windows Server 2003 bug 引起的错误0xC0000064。

    【讨论】:

      【解决方案3】:
      1. 如果您的 VisualSVN 服务器使用单独的用户文件进行身份验证,则登录 Windows 没有意义(与 SVN 登录无关)
      2. 您必须使用 CLI 客户端并在提交时在其中具有强制授权,即使用

        --username ARG : specify a username ARG

        --password ARG : specify a password ARG

        --no-auth-cache : do not cache authentication tokens

        in 命令(事务中会使用write保证正确登录/通过)

      如果即使此提交也会因“授权失败”而失败,那么它可能仅意味着一个:您在此存储库中具有只读访问权限(至少受存储库树的提交部分影响)

      【讨论】:

      • 服务器设置为使用基本 Windows 身份验证。我尝试了三个命令行参数,但还是一样。
      • @user1871696 - 在这种情况下您仍然需要在服务器管理器中检查 ACL
      • @LazyBadger "rejected Basic challenge" 表示身份验证问题!这与授权规则无关。我绝望的假设是用户帐户的密码中有非 ASCII 符号。基本身份验证不支持密码中的非 ASCII 符号,可能会导致错误。
      • @bahrep - 是的,但是对于错误的用户密码,我在 SVN (AFAICR) 中看到了相同的响应
      • @LazyBadger 确实如此,如果您输入错误的密码 3 次,则身份验证失败并出现错误“rejected Basic challenge”。
      【解决方案4】:

      在我的情况下..svn 文件夹位于 Caps 中,并且在 repo 浏览器中给出的路径很小..

      【讨论】:

        猜你喜欢
        • 2020-10-16
        • 2014-02-02
        • 2023-04-06
        • 2015-07-05
        • 1970-01-01
        • 2019-03-26
        • 2013-08-03
        • 2016-09-26
        • 2019-01-21
        相关资源
        最近更新 更多