哪个网站可以做结婚证,企业黄页官网,最近军事新闻热点大事件2022,高德地图无目的地导航Windows平台下使用Active Directory对Subversion进行权限控制#xff08;非完美解决方案#xff09; Windows平台下使用Active Directory对Subversion进行权限控制#xff08;非完美解决方案#xff09; 目前网上找到的Subversion的配置说明中#xff0c;关于用户权限控制… Windows平台下使用Active Directory对Subversion进行权限控制非完美解决方案 Windows平台下使用Active Directory对Subversion进行权限控制非完美解决方案 目前网上找到的Subversion的配置说明中关于用户权限控制都是基于Apache的User文件的或是基于svnserve.conf文件的这种配置方式最大的问题在于用户信息保存在独立的文本文件中维护不便对用户的添加、修改等必须在服务器上执行用户自己无法修改密码等并且无法和其他系统集成。 于是琢磨可不可以用公司现有的Active Directory对Subversion的用户进行权限控制这样可以解决上面提到的几个问题。 目前已经基本实现了对Subversion使用Active Directory验证但是还有一些比较重要的问题没有解决所以是“非完美解决方案”放在这里抛砖引玉希望能够有更好的解决方案。 Apache不能直接调用Active Directory的只能通过Active Directory提供的LDAP方式进行访问因此需要在Apache中打开对LDAP的支持 Apache中自带了对LDAP的支持默认情况下没有打开但是官方自带的LDAP支持插件在Windows平台下有问题我这里是经常造成Apache异常退出服务终止因此在Windows平台下需要安装第三方的LDAP支持插件才可以。 在网上找了一下发现Apache的LDAP支持模块有以下几个可供选择来源http://nona.net/software/ldap/ 名称 网址 mod_auth_ldap http://nona.net/software/ldap/ mod_auth_ldap http://httpd.apache.org/docs-2.0/mod/mod_auth_ldap.html auth_ldap http://www.rudedog.org/auth_ldap/ mod_auth_ldap http://www.muquit.com/muquit/software/mod_auth_ldap/mod_auth_ldap.html mod_authz_ldap http://authzldap.othello.ch/ mod_ldap http://www.kie.berkeley.edu/people/jmorrow/mod_ldap/ mod_ldap http://hpwww.ec-lyon.fr/~vincent/apache/mod_ldap.html 我使用的是http://www.muquit.com的mod_auth_ldap对其他的没有试过。 一、 安装假定已经安装了ApacheSubversion 1. 安装文件的获取 mm_mod_auth_ldap for MS Windows binary从http://www.muquit.com/muquit/software/mod_auth_ldap/mod_auth_ldap.html下载。 由于mm_mod_auth_ldap是基于Sun的iPlanet C SDK 5.08开发的运行时还需要iPlanet C SDK 5.08的一些DLL因此还需要自己下载iPlanet C SDK 5.08http://www.sun.com/download/index.jsp?catApplication%20Developmenttab3需要注册才能下载 2. 安装和设置来自http://www.chinaunix.net/jh/49/618651.html: 1) 将上面所说的两个压缩包中的DLL文件复制到Apache的modules目录中 2) 在httpd.conf中加入 LDAP 相关模块的配置就是增加如下一行 LoadModule auth_ldap_module modules/mod_auth_ldap.dll 二、 配置 如下是httpd.conf中Subversion段的配置注意红字的部分就是LDAP的配置信息具体意义参见注释其他关于Subversion和Apache的配置资料请参见网上相关文章例如http://cube316.net/blog/archives/200512/32。 Location /svn // 常规Subversion配置 DAV svn SVNListParentPath on SVNParentPath D:\SVNStore AuthType Basic AuthName Subversion repositories # 不能使用svnaccessfile进行配置原因见后 # AuthzSVNAccessFile conf\svnaccessfile Require valid-user # 以下为LDAP配置信息 # LDAP 协议版本AD提供的LDAP为3 LDAP_Protocol_Version 3 # LDAP 服务器 LDAP_Server 192.168.1.2 # LDAP 服务器端口 LDAP_Port 389 # LDAP 基础DN Base_DN dcMainDC # AD 的 LDAP 不允许进行匿名查询因此需要提供一 # 个 AD 中的用户名及其密码用于 Apache 的LDAP查询 Bind_DN cnAdministrator,cnUsers,dcMainDC Bind_Pass password # 供 Apache 查询的 AD Object 的属性 UID_Attr sAMAccountName # 允许什么条件的 AD 用户访问 Subversion # 这里设置只有scmuser组的用户才可以访问但是并没 # 有成功事实上只要是AD中的用户现在都可以访问 # 不清楚问题出在哪里。 require group cnscmuser,ougroups,dcMainDC /Location 这样配置的意图是允许SCMUser中所有用户可以存取Subversion其他的用户则不可以但是事实上这样配置以后的实际结果是AD中所有用户都可以访问Subversion了怀疑是require group中的LDAP Filter写的不正确但是不知道该怎么写目前就凑合着用了。 三、 问题使用LDAP可以和其他系统比较好的集成并且能够方便地对用户进行管理但是这种方式对于Subversion很有问题就是使用这种方式后无法使用AuthzSVNAccessFile来对Subversion进行目录级别的权限控制据网上资料说是因为SVNAccessFile中的用户和组都必须在User文件中定义参见http://svn.haxx.se/users/archive-2006-02/0586.shtml及其相关讨论我想如果对Apache的授权模块进行自定义修改的话估计是可以的不过目前我们对此要求不高所以还暂时能够使用。 四、参考资料 1. 《开发服务器环境配置安装说明》http://bbs.chinaunix.net/viewthread.php?tid618651 2. 《LDAP authentication module for apache》http://www.muquit.com/muquit/software/mod_auth_ldap/mod_auth_ldap.html 3. 《Subversion Users List Archives》http://svn.haxx.se/users/ posted on 2006-05-31 23:57 NetCobra 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/NetCobra/archive/2006/05/31/414378.html