通过 http 为多个用户设置 SVN 服务器

SVN annotate 属性相当强大,并且可以快速确定在特定代码行上跟踪特定功能的人员。 如果客户使用 http 访问 SVN,则此属性会受到更多限制(但仍然有用)。 这样做不会交换任何资格,因此注释不会显示由设计人员自定义的行的名称,该设计人员利用 http 进行更改。

问题是,设计师是否有一种方法可以将某种凭据传递给 Web 服务器上的 SVN 以明确识别他们的提交? 在这种氛围中,需要的只是身份的存在。 svn+ssh 和提交程序等替代方法不可用。 最终,此 Web 服务器位于内部 LAN 上,而不是公共的。 https的提示另外邀请。

SVN 服务器在带有 Apache2 的 Linux 上运行。

5
2022-06-07 15:16:41
资源 分享
答案: 4

此解决方案假定您的设计人员使用 Windows 并且您有一个 Active Directory 域名控制器。

您可以按照此 文章 使用 Linux svn Web 服务器注册到域。

从那里,您设置 apache 以使用 Kerberos 验证 AD。 先安装mod_auth_kerb,然后将apache2连接到kerberos进行认证。 请参阅 Microsoft 是 文档。 如果您担心客户和服务器之间的安全性,请确保您实施 SSL。

完成后,个人可以使用他们的 Windows 密码登录,并且任务将分配给他们的个人。

不幸的是,我现在无法为您提供具体的配置信息,因为我用完了办公室并且无法访问我们的 svn Web 服务器。

1
2022-06-08 03:02:14
资源

简短的回应: mod_authz_svn

您可以了解 apache+svn+mod_autz_svn 以及我提供给 International PHP Conference '09 的幻灯片中的更多内容,可在 http://superalbert.it/download/misc/PHPCon09_SVN_advanced.pdf 获取

1
2022-06-07 17:30:10
资源

在 Apache 配置中:

<Location /svn>
    DAV svn
    SVNPath /mnt/big/svn
    AuthType Basic
    AuthName "SVN Server"
    AuthUserFile /etc/apache2/svn.pass
    Require valid-user
    AuthzSVNAccessFile /etc/apache2/svn_authz

以及/etc/apache2/svn _ authz 可以有很好的 - 可以访问的高级管理:

[groups]
ops=user1,user2
it=user2,user3

[/]
* = rw

[/ops]
* =
@ops=rw

[/ro]
* = 
@ops = r
@it = r
user4 = rw

如果您手边有 ldap / 活动目录服务器,则可以使用它而不是 AuthUserFile 进行 apache 验证。

6
2022-06-07 17:28:14
资源

由于您使用 Apache 运行 SVN,因此您可以利用 Apache 内置的身份验证方法来管理对数据库的访问/跟踪修改。 下面的示例肯定会处理 htaccess - 设计配置:

AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /path/to/user/list
Require valid-user

您可以在 htaccess 数据或 VirtualHost 排列数据中配置它。

7
2022-06-07 15:41:51
资源