我需要简单的“点对点”教程或整洁的例子,说明如何使用WebSVN实现对单个Subversion存储库中的路径(签出指令)的授权。
假设存储库是/svn/ repos /r_project,来自这个repos的两个签出(路径)是/svn/repos/path1 1和/svn/repos/path1 2.我想用不同的用户名/密码保护每个路径(目录)。
Subversion和WebSVN安装在Unix (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 file”包含一个用户名的密码。输入'/etc‘目录。
在config.php文件中,WebSVN有:
$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提交)。
谢谢。
发布于 2010-11-25 19:08:24
你可能在找“真人”。这是许多可用的教程之一。
编辑
我想你把两件不属于一起的东西混在一起了。访问subversion存储库的一种方法是通过WebDAV,这似乎是可行的。另一方面,WebSVN是用于存储库浏览的。您将无法提交对WebSVN URL的更改。
您的“SVNParentPath”应该指向存储库,而不是指向WebSVN目录。
SVNParentPath /svn/reposhttps://stackoverflow.com/questions/4280034
复制相似问题