在实际工作过程中,我们会对不同的库,不同的目录给予不同的操作权限,这样我们就会涉及到给不同的人员不同的链接,这样给链接的过程中,可能会写错,而且也增加工作量,简单的办法是给出库的列表,让工作人员选择性的进入自己需要的目录。
一、windows下的
1.httpd.conf配置文件
<Location /apache/>
DAV svn
SVNParentPath F:/svn
SVNListParentPath on
AuthType Basic
AuthName "svn repos"
AuthUserFile "D:/Program Files/Apache2.2/bin/passwd"
AuthzSVNAccessFile "D:/Program Files/Apache2.2/bin/svnaccessfile"
Require valid-user
</Location>
注意点:
a.对于初学者,我们很多人都是在网上找的配置文档,然后按照说明配置,所以<Location /apache/>这块大部分是<Location /apache>后面没有那个斜杠,但是我们要想把库列表显示出来,后面必须添加斜杠,否刚会报错。而且也只适合于多库的,单库的我们还是应该用<Location /apache>。强调location后面不要为空,否则会导致不可用。
b.分配权限,我们可以这样分配
添加[/] *=r # 代表我们给所有经过验证的用户都有对库目录的权限。但是这样会导致我们的库不太安全,然后可以对下面子目录进行这样的配置,即在原来的基础上各个目录下添加 *= 即可。
这是我自己的配置文件:
<Location /apache/>
意味着可以通过像这样的URL(http://MyServer/apache/)来访问Subversion版本库
DAV svn
告诉Apache哪个模块负责服务像那样的URL--在这里就是Subversion模块
SVNListParentPath on
在Subversion 1.3及更高版本中,这个指示器使得Subversion列出由SVNParentPath指定的目录下所有的版本库
SVNParentPath F:/svn
告诉Subversion在目录F:/svn下寻找版本库
AuthType Basic
启用基本的验证,比如用户名/密码对
AuthName "svn repos"
当一个验证对话框弹出时,告诉用户这个验证是用来做什么的
AuthUserFile "D:/Program Files/Apache2.2/bin/passwd"
指定"D:/Program Files/Apache2.2/bin/passwd"用为密码文件用来验证用户的用户名及密码
AuthzSVNAccessFile "D:/Program Files/Apache2.2/bin/svnaccessfile"
指定"D:/Program Files/Apache2.2/bin/svnaccessfile"来限定各个用户或组在版本库中目录的访问权限
Require valid-user
限定用户只有输入正确的用户名及密码后才能访问这个路径
</Location>
结束。
二、linux下的
配置过程同windows下的。即改动及注意的地方一样,在些就不详细列举了。