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指示:

  # Enable Subversion
  DAV svn

  # Directory containing all repository for this path
  SVNParentPath /opt/svn

 

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

  # 开启Subversion
  DAV svn

  # 包含所有版本库的路径
  SVNParentPath /opt/svn

  # 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

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

你可能感兴趣的:(Subversion结合Apache使用LDAP认证)