Subversion权限控制

当初按照网上的一篇文章装完SVN后,很长一段时间都以为Apache+Subversion是必须的组合,认为Subversion生来就是通过Http访问的,直到最近同一个项目参与开发的人增多后,感觉SSPI认证不能满足一些要求,才开始进一步研究SVN。
当然,下面的认识仍然很初步

Subversion的权限控制有3种方式:

  • SSPI(windows帐号管理)(缺点非常明显:能够访问SVN的帐号也能够访问Windows服务器)
  • Apatch password机制(密码是经过Apatch加密的)
  • svnserver(精细路径授权,但密码是明码的)  

认证与授权:

  • 认证:验证用户输入的用户名和密码是否正确
  • 授权:将哪些文件和文件夹的读或写权限开放给已经认证的用户。   

上述3种认证方式对应着3种授权方式。

  • SSPI认证通过后,无法精细路径授权,对所有资料库都是可读写的;
  • Apache HTTP认证通过后(使用Apache密码文件), 通过Apache调用一个模块(mod_authz_svn.so)验证“httpd.conf文件中 AuthzSVNAccessFile 属性指定的文件进行授权;
  • Svnserve认证通过后(使用svnserve.conf中指定的passwd文件),使用svnserve自己的授权方式调用svnserve.conf中指定的authz文件进行授权。  

已知的HTTP授权和svnserve授权是不同的,但是,虽然授权模块不同,授权文件却是可以指向一个的,因为在Subversion文档中定义方式完全一样。

 

经过几次摸索,我感觉如下实现是比较合适的:

用户使用浏览器通过Http访问资料库,使用guest 帐号,权限只读不能写,为的是方便浏览,扩大受众。

用户使用客户端通过svn 访问资料库,精细路径授权,用于开发。

 

这样,我最终放弃了SSPI认证,而使用HTTP + svnserve 认证方式。

 最后,再画一副图来表示,图中具体含义需要参考相关文档来理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值