Subversion 结合Apache使用LDAP认证

越来越多的公司使用目录服务来管理用户的凭证和信息,例如Active Directory, eDirectory 和OpenLDAP等目录服务,这与 Subversion有关吗?很好,我曾经参与过企业级开发,很多客户希望利用他们现有的目录服务作为Subversion认证,这篇blog将会解释在 Apache中使用mod_auth_ldap结 合目录服务,让你可以使用现有的数据进行认证。

此时,只能使用Apache作为网络层时才能利用目录服务认证,这允许你利用mod_auth_ldap使用所有的Apache认证选项来对 Subversion进行认证,Apache可以为Subversion使用目录服务认证。

在我们开始修改Apache配置文件之前,来看一下将Subversion导出到Apache的最简单Location指示:

<Location /repos>
  # Enable Subversion
  DAV svn

  # Directory containing all repository for this path
  SVNParentPath /absolute/path/to/directory/containing/your/repositories
</Location>

现在,让我们在Location指示的认证选项部分添加mod_auth_ldap支持:

<Location /repos>
  # 开启Subversion
  DAV svn

  # 包含所有版本库的路径
  SVNParentPath /absolute/path/to/directory/containing/your/repositories

  # LDAP认证和授权
  AuthLDAPAuthoritative on

  # 使用基本的密码认证
  AuthType Basic

  # 保护区域或”域”的名称
  AuthName “Your Subversion Repository”

  # Active Directory requires an authenticating DN to access records
  # This is the DN used to bind to the directory service
  # This is an Active Directory user account
  AuthLDAPBindDN “CN=someuser,CN=Users,DC=your,DC=domain”

  # This is the password for the AuthLDAPBindDN user in Active Directory
  AuthLDAPBindPassword somepassword

  # The LDAP query URL
  # Format: scheme://host:port/basedn?attribute?scope?filter
  # The URL below will search for all objects recursively below the basedn 
  # and validate against the sAMAccountName attribute
  AuthLDAPURL “ldap://your.domain:389/DC=your,DC=domain?sAMAccountName?sub?(objectClass=*)”

  # Require authentication for this Location
  Require valid-user
</Location>

可以使用其中的注释来理解Apache配置指示中使用mod_auth_ldap,通过上面的例子(需要根据情况修改你的环境)你可以通过活动目录 服务来认证你的Subversion用户,如果在AuthLDAPURL中又很小的修改,上面依然可以工作,你可以咨 询第一段中引用mod_auth_ldap的文档,尽管本文很简单,但是希望能够给你带来价值。


Jeremy is an open source advocate and is currently one of the lead Subversion consultants at CollabNet. In his spare time, he contributes to many open source projects, plays many video games and still continues to be amazed at the personal growth of his two year old son.

你可能感兴趣的:(apache,认证,subversion,LDAP,结合)