【问题标题】:How to Setup Multiple Authentication Types for 1 Subversion Repo? [closed]如何为 1 个 Subversion 存储库设置多种身份验证类型? [关闭]
【发布时间】:2009-06-23 23:39:30
【问题描述】:

我们有一个使用 Apache 2.0 进行身份验证的 SVN 1.4 存储库;具体来说,mod-auth-sspi 模块用于向我们的 Windows 域进行身份验证。 httpd.conf 的相关部分如下所示:

<Location /svn>
    AuthType SSPI
    AuthName "My Subversion"
    SSPIAuth On
    SSPIAuthoritative On
    SSPIDomain MYDOMAIN
    SSPIFixDomainCase On
    SSPIOfferBasic On
    Require group MYDOMAIN\MYDOMAINGROUP
</Location>

我们还有一个自动构建服务器,它需要从 SVN 获取源并构建它。自然,这需要构建服务器将有效的域凭据传递给 SVN/Apache。

今天,我们使用我自己的域凭据来做到这一点。这不是一个好主意,因为当我的域密码过期时,我可能会发生一些不好的事情或者我可能正在度假——整个自动构建过程将冻结。目前不能为自动构建服务器在域上创建一个特殊帐户,因为我在一家大公司工作,而且这样做的繁文缛节令人望而却步。

我想做的是将现有的 SSPI 身份验证方案保持不变,但在托管 SVN 的机器上创建一个本地帐户,并让自动构建服务器使用该本地帐户进行身份验证。换句话说,一个 SVN 存储库有两种不同的身份验证路径(SSPI + 一个本地帐户)。

这可能吗?我该怎么做?

【问题讨论】:

  • 也只是一个 Apache 问题。 是 SVN 存储库这一事实并不重要。
  • 很遗憾,这不是编程主题,而是常用软件的配置。 serverfault 更适合。
  • 这已在别处解决。使用拒绝,允许,下一个拒绝所有,允许来自指定的构建主机,最后一个需要任何。示例在 stack 和 serverfault 上。找到这个。

标签: apache authentication sspi


【解决方案1】:

如果您想在 SSPI 身份验证之外提供基本身份验证,则需要在不同的 URL 下提供,例如

  <Location /svn_pass>
    AuthType Basic
    AuthName "svn"
    AuthUserFile /etc/apache2/svnusers
    require valid-user
  </Location>

或者,您可以使用基于主机的授权,然后您也可以将其放入当前 URL,并指定“满足任何要求”。

【讨论】:

    【解决方案2】:

    另一种方法是代替多种身份验证方法,保留您已有的工作,并设置 svnserve 以便您的构建服务器拥有自己的凭据。

    Subversion 可以使用multiple repository access methods 愉快地工作。

    【讨论】:

    • 没有任何操作系统正在使用的信息。有可用的 ssh+svn 吗?也许最简单的方法是为特殊的自动访问创建另一个 URL,无需提示身份验证。
    猜你喜欢
    • 2019-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-03
    • 2013-03-19
    • 2011-11-28
    • 1970-01-01
    • 2011-07-13
    相关资源
    最近更新 更多