2

我需要简单的“直截了​​当”的教程或如何使用 WebSVN 从单个 Subversion 存储库实现路径(签出目录)授权的简洁示例。

假设存储库是 /svn/repos/r_project 来自此存储库的两个结帐(路径)是 /svn/repos/path1 和 /svn/repos/path2 ...我想用不同的用户名/密码保护每个路径(目录) .

Subversion 和 WebSVN 安装在 Unix Apache (redhat) 上。我已经可以在 WebSVN 存储库首页中看到两条路径 - 没有任何保护,这工作正常。

我知道如何使用 .htpasswd 保护单个 Web 索引页面,但我尝试通过 WebSVN 页面保护存储库中单个路径的任何操作都失败了。

发送

[编辑 nov26]

最新情况以明确:我拥有的路径:

Home path in unix: '/var/www/'
Path of WebSVN: '/var/www/websvn2'
Path to repository: '/svn/repos'
Created repository is '/svn/repos/r_project') // so r_project is the repository name 
Two checkout directories of that repository:'/svn/repos/path1' and '/svn/repos/path2'

httpd.conf我有 SVN 和 WEBSVN 的位置(我确实有必要的模块):

<Location /repos>
  DAV svn
  SVNParentPath /var/www/svn/repos
  AuthType Basic
  AuthName "Subversion repository"
  AuthUserFile /etc/svn-auth-file
  Require valid-user
</Location>

<Location /websvn210/>
    Options FollowSymLinks
    AuthType Basic
    AuthName "Subversion Repository"
    Require valid-user
    AuthUserFile /etc/svn-auth-file
</Location>

目前,'svn-auth-file' 包含一个用户名的密码。放入'/etc'目录。

在WebSVN 的config.php文件中,我有:

$config->parentPath("/var/www/svn/repos");  
$config->useAuthenticationFile('/etc/svn-auth-file'); // Global access file

我可以将结帐目录“path1”和“path2”视为浏览器中带有文件的常规索引页面(例如:“http://mydomain/svn/repos/path1”)。但是,当我在浏览器中输入“http://mydomain/websvn210”时,我只能获得登录(ok)而不是 WebSVN 的空主页——也就是说,没有存储库或结帐路径!

这是第一个问题:空白页。其次,将为每个路径设置不同的登录名。注意:这些路径(签出)仅用于读取或下载(不从 Subversion 提交)。

谢谢。

4

1 回答 1

1

您可能正在寻找“ authz ”。这是可用的众多教程之一。

编辑
我认为您将两种不属于一起的东西混合在一起。访问 subversion 存储库的一种方法是通过 WebDAV,这似乎有效。另一方面,WebSVN 用于存储库浏览。您将无法提交对 WebSVN URL 的更改。

您的“SVNParentPath”应该指向存储库而不是 WebSVN 目录。

SVNParentPath /svn/repos
于 2010-11-25T19:08:24.890 回答