AuthzSVNAccessFile如何工作?

我已经build立了一个WebDAV访问的SVN回购。 由于某种原因,它不会让结帐。

这是我的httpd.conf部分:

<Location /svn> DAV svn SVNParentPath /home/svn/repositories AuthzSVNAccessFile /home/svn/dav_svn.authz Satisfy Any Require valid-user AuthType Basic AuthName "Subversion Repository" AuthUserFile /home/svn/dav_svn.passwd </Location> 

我有两个名为“第一”和“第二”的存储库,dav_svn.authz的内容是:

 [first:/] doe = rw * = r [second:/] doe = rw grig = rw * = r 

当我试图检出第二个与用户doe,我得到这个error_log:用户doe:“/ svn /秒”的身份validation失败:密码不匹配

为了理解可能是什么问题,我想更好地了解AuthzSVNAccessFile应该如何工作。

这个错误是否只发生在两个存储库上的用户? 或者在第二个存储库中grig失败? 假设所有用户都失败,并且假设错误不在AuthUserFile中,并且SVNParentPath是正确的,我想你需要为所有的存储库添加一个默认的访问规则。

 [/] * = r [first:/] doe = rw [second:/] doe = rw grig = rw 

或者,您可以将用户doe和grig放入一个组中,并按以下方式进行操作:

 [groups] secondteam = doe, grig [/] * = r [first:/] doe = rw [second:/] @secondteam = rw 

你提到你想更好地理解AuthzSVNAccessFile是如何工作的。 我build议阅读本教程 。 下面是一个完整的基于path的授权文件示例:

 [groups] admin = john, kate devteam1 = john, rachel, sally devteam2 = kate, peter, mark docs = bob, jane, mike training = zak # Default access rule for ALL repositories # Everyone can read, admins can write, Dan German is excluded. [/] * = r @admin = rw dangerman = # Allow developers complete access to their project repos [proj1:/] @devteam1 = rw [proj2:/] @devteam2 = rw [bigproj:/] @devteam1 = rw @devteam2 = rw trevor = rw # Give the doc people write access to all the docs folders [/trunk/doc] @docs = rw # Give trainees write access in the training repository only [TrainingRepos:/] @training = rw 

您是否使用“htpasswd”将doe用户添加到/home/svn/dav_svn.passwd或者是来自某种types的前端pipe理员?

我有例如Virtualmin / Webmin的问题,他们编辑htpasswd文件格式不同从apache的格式,问题是通过读取用户使用htpasswd解决。

只是一个支票(我不知道,我会稍后检查),但是不是语法是[first:/home/svn/first]

first是名称,而/svn/first将是回购path。

不知道它是否会解决问题,但我猜你目前的conf文件不完全是你想要的。