我正在尝试为Subversion设置具有LDAP访问权限的Apache httpd,并且需要一些帮助:
我想做的是使用一个组来访问。如果您是该组的成员,则具有读/写访问权限。如果不是,则没有权限。
LDAP服务器中的组记录( LDAP://ldap.MyCompany.com/DC=MyCompany,DC=COM)
CN=SVN-GROUP,CN=Users,DC=MyCompany,DC=com
和组的成员像这样在这个记录中:
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中查找我的记录,您将看到:
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
我想做的是登录作为dweintraub
(这是我的Windows帐户)与我的Windows密码。我也不想指定Windows域作为我登录的一部分。每个人都将成为mycompany
域的一部分。
我正在尝试通过Apache httpd网站,但它是一个有点难把所有的东西放在一起。
这提醒了我,谁能推荐一本好的Apache书?
如果您使用的是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-group,不要将DN用引号括起来。通过指定端口3268,您将连接到全局编目。我发现这工作得更好,因为Apache不会得到一堆引用。