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

时间:2009-06-23 23:39:31

标签: apache authentication sspi

我们有一个使用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 +本地帐户)。

这可能吗?我该怎么做?

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

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

Subversion很乐意使用multiple repository access methods