怎么做?
我知道在 conf/passwd 文件中...您可以设置用户 = 密码。
不过,我希望他输入他自己的通行证——本地机器。
答案1
我假设您使用 Apache 作为主机?您可以使用 LDAP 查找来验证您的 SVN 存储库。我们根据 AD LDAP 进行身份验证,但您可以根据任何 AD 进行身份验证。此外,我们的配置来自 Windows Apache,对于 *nix 来说可能会有所不同:
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule ldap_module modules/mod_ldap.so
<Location /Data/>
DAV svn
SVNParentPath C:\SVN
AuthName "Our Subversion Repositories"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL "ldap://ldapserver.domain.local:389/DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)" NONE
AuthLDAPBindDN "domain\aduserwithldappermissions"
AuthLDAPBindPassword passwordhere
require valid-user
</Location>
答案2
如果你正在运行具有现有 SSH 基础设施的 UNIX 系统,则SSH+SVNsvn+ssh://
协议就足够了。您可以通过底层文件系统 ACL 来控制存储库访问控制。在这种情况下,SVN 命令使用 URL 前缀引用存储库。
但是,用户可能需要安装类似 pageant 的 ssh 凭证代理,以避免无休止的密码查询。如果用户不在系统中,则需要将其添加到系统中,等等。更好的替代方案是WebDAV+Apache。您可以配置多种身份验证方案(您可能需要修改身份验证方式),使用 SVNPath (或一组存储库的 SVNParentPath) 指示磁盘上的 SVN 位置,并使用 AuthzSVNAccessFile 指令控制对一个或多个存储库的访问。https://
在这种情况下,SVN 命令使用 URL 前缀引用存储库。