【问题标题】:Credential Caching Fail on SVN 1.5.2 via HTTP通过 HTTP 在 SVN 1.5.2 上的凭据缓存失败
【发布时间】:2009-07-02 06:36:13
【问题描述】:

我们最近在我们的一些服务器/虚拟机上安装了 SVN 1.5.2(带有 VisualSVN/Apache),现在当我发送带有用户名/密码的命令行命令时,它们不再被缓存。 之前,我们在 svn:// 上运行安装了 CollabNet 的 SVN 1.5.0,并且在第一个命令之后缓存了凭据。

到目前为止,我在解决此问题时遇到了困难。我的情况是:

  • SERVER_SVN(SVN 1.5.2 通过 svn://)
  • SERVER_HTTP(SVN 1.5.2 通过 http://)

从命令行到 SERVER_SVN 的命令:凭据缓存良好

对 SERVER_HTTP 的相同命令:不缓存凭据

所以,这似乎是一个 http/apache 服务器问题......但是,从 Tortoise 凭据被缓存到两个服务器,所以这似乎也是一个客户端调用问题。我的想法不多了……

我使用的示例命令序列:


svn ls c:\mylocalfolderSVN --username foo --password bar
svn ls c:\mylocalfolderSVN // this works
svn ls c:\mylocalfolderHTTP --username foo --password bar
svn ls c:\mylocalfolderHTTP  // this fails

最后一个命令停止并请求身份验证。

svn:// 和 http:// 之间的凭据缓存是否不同,还是我们在服务器配置中遗漏了什么?

提前感谢您的任何建议。

【问题讨论】:

    标签: svn


    【解决方案1】:

    AFAIK 凭证缓存是客户的责任。服务器所做的只是在必要时要求提供这些凭据。我会检查本地客户端配置文件,也许看看不同版本的客户端会发生什么。

    【讨论】:

      【解决方案2】:

      您是否完全限定了 SVN 服务器的域名?如果 HTTP 的缓存是基于 cookie 的,并且服务器正在使用 FQDN 写入 cookie,但您的请求不使用 FQDN(您使用的是 svnserver 并且 FQDN 是 svnserver.company),那么 cookie 可能无效并且每个请求将需要身份验证。

      【讨论】:

        【解决方案3】:

        正如 wds 所指出的,SVN 凭据缓存是由 svn.exe 在客户端完成的,在收到来自服务器的响应后,例如“好的,我实际上使用了您发送的凭据,它们很好”。

        这就是为什么我无法弄清楚发生了什么:我从头开始安装了 2 台服务器,我向两者发送相同的命令行,一组凭据被缓存,另一组没有……但是 TortoiseSVN,它在下面使用相同的 svn.exe,缓存两者(可能是作弊,缓存凭据然后 svn.exe 无法这样做)。

        我现在最好的猜测是http://服务器没有向svn.exe发送一个“适当的”响应,但我真的不想嗅探所有的http请求来看看发生了什么,叫我懒惰,但我还有更有趣的事情要做:-)

        所以我改变了我的设计,现在我将把 SVN 密码保存在内存中(WinForm 客户端应用程序,全部用于我们的内部网络),并在每个命令中传递它。

        【讨论】:

          【解决方案4】:

          为了缓存凭证,除了适当的配置,你需要像这样执行SVN:

          svn ls REPOSITORY_URL

          而不是

          svn ls WORKING_COPY_PATH

          这对我有用,不确定这是否是这种情况下的解决方案。

          【讨论】:

          • 非常感谢您的回复。最终我们改变了我们的调用,验证了每个请求(不再缓存):-) 我忘了关闭这个线程......
          猜你喜欢
          • 1970-01-01
          • 2011-07-01
          • 2016-06-02
          • 1970-01-01
          • 2011-03-04
          • 1970-01-01
          • 2013-07-26
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多