我设置了一个 SVN 服务器,可以通过虚拟用户 (mysql) 登录。这些用户可以登录到其他服务,如 proftpd 和 postfix。服务器中不存在真实用户。
SVN 登录可以通过和虚拟主机进行libapache2-mod-svn
,例如mod_authn_dbd
<VirtualHost *:80>
ServerName svn.domain.com
<Location />
DAV svn
SVNParentPath /path/to/svn
SVNListParentPath On
Require valid-user
AuthType Basic
AuthName "SVN"
AuthBasicProvider dbd
AuthDBDUserPWQuery "select password from users where user = %s"
</Location>
</VirtualHost>
现在我想创建类似的设置,但使用 GIT,可以吗?我读过一些文章,例如这个,但他们都是通过 htpasswd 设置的登录用户,并且我想使用相同的用户通过数据库登录。
答案1
此设置应该是可行的。通常,您可以在任何虚拟主机上使用任何身份验证提供程序。
您可以按照本教程,删除所有提到的Auth*
参数并使用工作 SVN 配置中的参数。
还可以创建自定义 Auth 部分,该部分可以在多个 Vhost 中重复使用。这提供了一种在 Vhost 之间共享缓存(例如 LDAP 查找)的方法。相关配置参数是AuthnProviderAlias
。
https://httpd.apache.org/docs/2.4/mod/mod_authn_core.html#authnprovideralias