使用 LDAP 和 Apache 2.4 验证用户身份

使用 LDAP 和 Apache 2.4 验证用户身份

我想使用 Apache 2.4 设置 LDAP 身份验证。LDAP 服务器是 Windows 2008。

我的.htaccess好像:

AuthType Basic
AuthName "Login"
AuthBasicProvider      ldap
AuthLDAPBindDN         "CN=user,OU=Dienstkonten,DC=company,DC=lan"
AuthLDAPBindPassword   "pwd"
AuthLDAPURL            "ldap://dc.company.lan/DC=company,DC=lan?sAMAccountName?sub?(objectClass=*)" NONE

require ldap-group CN=Login-Group,OU=Dienstkonten,DC=company,DC=lan

但我总是错误

(70023)This function has not been implemented on this platform: AH01277: LDAP: Unable to add rebind cross reference entry. Out of memory?

我哪里错了?如何使用 ldap 和 apache 2.4 验证用户?

答案1

这为我解决了这个问题:

LDAPReferrals Off

其他建议来自这里这里

AuthzLDAPAuthoritative off
# Use the password without quotes, e.g. password instead of "password"
AuthLDAPBindPassword password

但这些对于我来说都没有必要。

答案2

ldap://dc.company.lan/DC=company,DC=lan?sAMAccountName?sub?(objectClass=*)

此过滤器似乎会搜索整个目录,包括所有可能的对象类别。您肯定可以将其缩小到您用于人员的任何对象类别?

答案3

由于这看起来像是来自 Win AD 的错误,您可以直接联系 Microsoft 并要求他们提供反馈。

或者,您可以先设置一个标准 LDAP 服务器(例如 OpenLDAP),用与您的 AD 内容相对应的测试数据填充它,然后针对该 LDAP 服务器测试您的设置,以此来准备该步骤。

成功完成该操作后,请再次尝试 AD。如果失败,则您可能需要设置 OpenLDAP 以提供必要的 AD“视图”,以使应用程序成功。

相关内容