我们有一个使用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 +本地帐户)。
这可能吗?我该怎么做?
答案 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。