Apache 如何为1 Subversion Repo设置多个身份验证类型?

Apache 如何为1 Subversion Repo设置多个身份验证类型?,apache,authentication,sspi,Apache,Authentication,Sspi,我们有一个SVN1.4存储库,它使用Apache2.0进行身份验证;具体来说,mod auth sspi模块用于向我们的Windows域进行身份验证。httpd.conf的相关部分如下所示: <Location /svn> AuthType SSPI AuthName "My Subversion" SSPIAuth On SSPIAuthoritative On SSPIDomain MYDOMAIN SSPIFixDomainCas

我们有一个SVN1.4存储库,它使用Apache2.0进行身份验证;具体来说,
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>

AuthType SSPI
AuthName“我的颠覆”
斯皮亚斯酒店
SSPIauthoritive On
SSPIDomain MYDOMAIN
SSPIFixDomainCase On
SSPIOfferBasic On
需要组MYDOMAIN\MYDOMAINGROUP
我们还有一个自动构建服务器,需要从SVN获取源代码并构建它。当然,这需要构建服务器将有效的域凭据传递给SVN/Apache

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

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


可能吗?如何操作?

另一种方法是,不要使用多种身份验证方法,而是保留现有的身份验证方法,并设置svnserve,以便生成服务器具有自己的凭据


Subversion将很乐意使用。

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

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

AuthType Basic
AuthName“svn”
AuthUserFile/etc/apache2/svnusers
需要有效用户

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

这也是一个Apache问题。事实上,是SVN回购并不重要。不幸的是,这不是编程主题,而是常见软件的配置。服务器故障更适合。这在其他地方得到解决。使用deny、allow、next deny from all、allow from specified build host和last one require any。例如stack和serverfault。找到这个。没有操作系统正在使用的信息。有可用的ssh+svn吗?也许最简单的方法是创建另一个URL,以便在不提示身份验证的情况下进行特殊的自动访问。