我刚刚为我大学的实验室设置了一个 SVN 服务器(在 Windows XP 机器上)。现在,任何人都可以匿名访问和提交存储库。
我想只允许我们 AD 域中的某些用户访问存储库。如果可能,我还希望密码与域的密码相同。
这可能吗?
解决了
我安装了 mod_auth_sspi 并使用以下配置了我的 httpd.conf:
DAV svn SVNPath "R:\SVN"
AuthName "SVN Server"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain AD
SSPIOfferBasic On
Require valid-user
AuthzSVNAccessFile "r:/svn/svnaccess.conf"
在 svnaccess.conf 中:
[groups]
dev = AD\user1, user1, AD\user2, user2
[/]
@dev = rw
如果您使用的是 Apache,是的。确保安装了 mod_auth_sspi。然后使用适当的设置配置目录:
在您的 svnpasswd 文件中,您只需指定具有完整域名的用户
我希望这会有所帮助。
您没有明确说明如何提供 Subversion,但根据您的标签,我假设是 Apache。使用 Apache 2.2 通过 AD 身份验证为 Subversion 提供服务非常简单。
在您的 Apache 配置中,您需要将适当的 Auth 参数添加到存储库的位置块。
例如(受限读写访问):
您可能需要与您的 AD 管理员交谈,为 Apache 设置服务帐户以用于连接到 AD(如果您的 AD 要求您在执行搜索之前进行绑定)。
如果您希望允许匿名读取,同时要求用户进行身份验证才能写入,请将
Require valid-user
上面的行替换为以下内容:在 Windows 上托管 subversion 存储库的另外两个选项是 SVNIsapi 和 Visual SVN。
SVNIsapi是 IIS 6.0 及更高版本的 IIS 插件。AD 安全性由 IIS 提供。
Visual SVN捆绑了 apache、svn 和一个 GUI 工具来管理存储库。AD 安全性由 apache 模块提供,并通过 GUI 工具进行配置。