Subversion权限文件AuthzSVNAccessFile示例

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

在使用Subversion时,认证文件AuthzSVNAccessFile能控制每一个目录的权限,但讲解的文档较少,中文文档更少。下面通过实例讲解使用方法。

环境Windows 2003 Server,局域网,域:domain.com.cn

Apache 2.0.52

Subversion 1.1.0

TortoiseSVN 1.1.0

LanguagePack_1.1.0_zh_CN

例子:

Repository存放在D:\repository下,有两个repository: test and xtest

每个repostory 的结构相同:

根:01.txt

02.txt

folder 1-: 11.txt

12.txt

folder 2-: 21.txt

22.txt

对目录1和2作不同的读写权限控制

Basic Authentication

修改文件:

Httpd.conf:

#Basic authentication

<Location /repository>

DAV svn

SVNParentPath d:/repository

AuthzSVNAccessFile d:/repository/accessfile

Require valid-user

AuthType Basic

AuthName "身份验证"

AuthUserFile d:/repository/passwd

</Location>

用Apache的htpasswd生成用户名和密码,

Htpasswd –c passwd username

第二次不用 –c。

生成的用户名和密码在passwd中:

0:$apr1$Vu5.....$XZ/csz/2YKoPNKpb88O5p0

1:$apr1$vu5.....$I1VwMJ7JtRmpmJjVUlT4h1

2:$apr1$Dv5.....$vf2MTg/p0mY.WcFhx7wET1

3:$apr1$Tv5.....$gfk4AiP49h0JjKN8BuJdB.

AuthzSVNAccessFile控制每个目录的读写权限

[test:/]

1 = r

2 = r

3 = r

[test:/1]

1 = rw

[test:/2]

2 = rw

在客户端,用http://server/repository/test可以访问。也可以直接进入子目录访问:http://server/repository/test/1,http://server/repository/test/2。系统会要求进行认证。例如用户1对目录1有读写权限,可以commit修改,但对目录2所作的修改就不能commit。

SSPI认证。

按上一种方式,用户更换一次密码,就必须修改一次密码文件。用SSPI认证则可以没有这个问题。

Httpd.conf文件:

#SSPI authentication

<Location /repository>

DAV svn

SVNParentPath d:/repository

AuthzSVNAccessFile d:/repository/accessfilesspi

Require valid-user

AuthType SSPI

AuthName "Subversion repositories"

# SSPI settings

SSPIAuth On

SSPIAuthoritative On

# point to domaincontroller

SSPIDomain domain.com.cn

SSPIOfferBasic On

</Location>

控制文件AuthzSVNAccessFile要作相应的修改:

[test:/]

domain\user1 = r

domain\administrator = r

[test:/1]

domain\user1 = rw

[test:/2]

domain\user1 =

domain\administrator = rw

在tortoiseSVN使用时,会提示认证,填写用户名和密码即可。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航