如果你的Subversion已经用apache的ldap支持用户认证功能,你是否常常在想,既然都用ldap支持认证,为什么不直接支持域群组,

反而在authz文件里面一个一个的手工定义,或者有人用脚本定时把域群组同步到authz文件。本人带着这个问题,开始研究SVN源码,

终于在subversion(SVN)源码中添加了LDAP域群组支持,从此authz文件里面不用再定义那么多群组,也不用通过脚本把域群组的成员信息同步到authz文件中。

直接支持域群组有几个好处:

  1、降低维护成本。一般的公司都有人专门维护域群组,如果SVN跟其他IT系统一样,直接使用域群组,那么原来维护SVN群组的人力就可以省下了。

  2、跟用脚本将域群组同步到authz相比,直接支持域群组更加稳定。在我们公司内部就是采用脚本同步的,结果经常要么因群组过大耗时太长不能及时同步,

    或者发生文件访问冲突。总之会有各种问题,导致用户抱怨SVN不稳定。

  3、直接支持域群组,在判断用户是否在某个群组的时候速度更快。不支持域群组的情况下,系统是从前到后遍历群组的所有用户和子群组来查找用户(数量级几百),而支持域群组后,

    只需要获取用户所在群组(数量级几十),并且查找时是采用哈希查找,这样的性能提升是显而易见的。

有兴趣的可以直接联系我,把整个源文件发给他,大家共同研究一下。

patch下载地址:http://files.cnblogs.com/easystep/svn_ldap-20130709.rar

05-07 15:30