在 Windows Server 上,SVN 的最简单配置是什么,可以避免纯文本密码存储?

在 Windows Server 上,SVN 的最简单配置是什么,可以避免纯文本密码存储?

我有一台运行在 Windows Server 2003 计算机上的 SVN 1.6 服务器,通过 CollabNet 的svnserve服务运行(使用协议svn)。我想避免在服务器上以纯文本形式存储密码。不幸的是,默认配置和带有 DIGEST-MD5 的 SASL 都需要纯文本密码存储。

避免以纯文本形式存储密码的最简单的方法是什么?

我的限制是:

  • 需要能够实现对 SVN 存储库的基于路径的访问控制(目前我可以使用文件authz)。据我所知,这或多或少与身份验证方法无关。
  • 活动目录可用,但不仅仅是域连接的 Windows 机器需要进行身份验证:工作组 PC、Linux PC 和使用 PySVN 执行 SVN 操作的软件都需要能够访问存储库。

升级 SVN 服务器是可行的,安装附加软件也是可行的。

答案1

我们用Collabnet 的免费 SVN 产品安装在旧的 Windows 2003 服务器上,使用 LDAP 和 HTTPS。我们从未遇到过域和非域计算机的任何问题。身份验证正常工作;但我也曾在 Linux 机器上通过 Apache 访问 SVN 时这样做过。

常规 HTTP 访问:

在此处输入图片描述

Apache 配置:

LoadModule dav_module         modules/mod_dav.so
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authnz_ldap_module   modules/mod_authnz_ldap.so
LoadModule ldap_module      modules/mod_ldap.so

<Location /SVN/>
   DAV svn
   SVNParentPath D:\SVN

   AuthName "Subversion Repositories"
   AuthType Basic   
   AuthBasicProvider ldap
   AuthzLDAPAuthoritative on

   AuthLDAPURL "ldap://domain.local:3268/DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)" NONE
   AuthLDAPBindDN [email protected]
   AuthLDAPBindPassword password

   require valid-user
</Location>

相关内容