0

嗨,我在一个开设编程课程的地方工作,在很多课程中,学生需要做一个项目才能通过课程,有时这些项目甚至是分组完成的,所以你可以理解版本控制的需求,我们使用 svn 并在 windows server 2003 操作系统的 apache 服务器上运行它。

为了让学生不能互相复制代码,我们希望通过集成的 svn 服务器 windows 进行身份验证,这意味着学生在尝试访问 svn 时不会提示输入用户名和密码,但会自动使用当前用户名和密码连接到 svn。

我们担心学生会互相分享他们的密码,并且很容易从 svn 中获取彼此版本的代码。

我已经尝试在互联网上搜索这个,我找到了一个支持集成 windows 身份验证的视觉 svn 服务器版本,但这支持需要花钱,

我曾尝试为 apache 服务器 (mod_auth_sspi) 使用 Windows 身份验证模块,但这并没有阻止我提示输入用户名和密码。

有没有人成功集成了他的svn服务器windows?如何?有谁知道任何其他可以集成 Windows 的免费版本控制系统?或者对我的情况有任何想法。

谢谢。

4

3 回答 3

2

我设法通过使我的 svn 身份验证 SSL 并将存储库位置标记内的 svn 属性“OfferBasic”设置为关闭来实现这一点。

于 2012-01-15T20:21:03.607 回答
0

为了让学生不能互相复制代码,我们希望通过集成的 svn 服务器 windows 进行身份验证,这意味着学生在尝试访问 svn 时不会提示输入用户名和密码,但会自动使用当前用户名和密码连接到 svn。

该方案将如何防止学生A将代码传递给学生B

学生A可以简单地下载代码,将其压缩,然后将其传递给学生B。或者,学生A可以使用 svn-git 之类的客户端,下载整个存储库并将其传递给学生B。而且,如果学生A向学生B提供了其 Windows 帐户的密码,那么如何阻止学生B以学生A的身份登录?

回到 Windows NT 时代,您可以使用 NTLM。NTLM 假定,由于您登录到一台被认证为网络上有效机器的 Windows 机器,您已经通过了身份验证,无需重新进行身份验证。因此,无需询问帐户和密码。

但 NTLM 要求服务器运行 IIS,客户端运行 Windows NT 和 Internet Explorer 5。我相信仍然可以使用 NTLM,但微软不再推荐它,因为它充满了安全漏洞。

即使您可以使用 NTLM,也没有在 IIS 上运行的 Subversion 服务器,也没有允许通过 IE 检出的 Subversion 客户端。

你所做的只是让学生更难真正完成他们的工作。

于 2011-11-14T22:02:35.570 回答
0

我在这里使用 Collabnet Subversion Edge,它似乎在执行 LDAP。我不是安全人员,我不知道这是否与您需要的相同。

在此处输入图像描述

于 2011-11-14T21:01:47.160 回答