我希望我的用户在 SVN 中提交时输入他的 unix 密码

我希望我的用户在 SVN 中提交时输入他的 unix 密码

怎么做?

我知道在 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 前缀引用存储库。

相关内容