设置Apache和Subversion以使用LDAP(Windows Active Directory)组身份validation

我试图设置Apache httpd与Subversion的LDAP访问,并需要一些帮助:

我想要做的就是使用一个组来访问。 如果您是该组的成员,则拥有读取/写入权限。 如果你不是,你没有访问权限。

我们的LDAP服务器中的组logging( ldap://ldap.MyCompany.com/DC=MyCompany,DC=COM

CN=SVN-GROUP,CN=Users,DC=MyCompany,DC=com 

这个小组的成员是这样logging的:

 member: CN=David Weintraub,OU=Users,OU=Brooklyn,OU=Accounts,DC=MyCompany,DC=COM member: CN=Joe Public,OU=Users,OU=Cincinnati,OU=Accounts,DC=MyCompany,DC=COM 

如果你在LDAP中查看我的logging,你会看到:

 memberOf: CN=SVN-GROUP,CN=Users,DC=MyCompany,DC=com Name: David Weintraub Distinguished Name: CN=David Weintraub,OU=Users,OU=Brooklyn,OU=Accounts,DC=MyCompany,DC=COM sAMAccountName: dweintraub 

我想要做的是用我的Windows密码login为dweintraub (这是我的Windows帐户)。 我也不想指定Windows域作为我的login的一部分。 每个人都将成为mycompany域的一部分。

我正在尝试通过Apache httpd网站,但要把所有东西放在一起很困难。

哪提醒我,谁能推荐一本好的阿帕奇书?

如果你使用的是Apache 2.2,这实际上很简单。 确保你配置了Apache同时启用了mod_ldap和mod_authnz_ldap。

以下是AD ldap认证和授权所需的最低要求:

 <Location /path/to/repo/> AuthType basic AuthName "My Repository" AuthBasicProvider ldap AuthLDAPURL "ldap://ldap.example.com:3268/dc=example,dc=com?sAMAccountName" NONE AuthLDAPBindDN "DN of service account allowed to search" AuthLDAPBindPassword "Password of service account allowed to search" Require ldap-group DN of group allowed access to repo </Location> 

对于ldap组,请勿将DN用引号括起来。 通过指定端口3268,您将连接到全局编录。 我发现这样做效果更好,因为Apache不会得到一堆推荐。