APACHE LDAP(authnz_ldap)身份验证不起作用,在我的情况下正确的语法是什么?

APACHE LDAP(authnz_ldap)身份验证不起作用,在我的情况下正确的语法是什么?

我正在运行一个带有 apache 的 docker 容器来托管一个 webapp,并且我正在尝试集成 LDAP 身份验证。

我认为我的问题出在语法上,因为我从来没有使用过 LDAP,所以我不确定如何解决这个问题。

我从日志中得到的错误是:

AH01626: authorization result of Require valid-user : denied (no authenticated user yet)

我需要修复这里的语法:

<AuthnProviderAlias ldap demo>
  AuthLDAPBindDN xxxxxxx
  AuthLDAPBindPassword yyyyyy
  AuthLDAPURL zzzzzzz
</AuthnProviderAlias>

那么我该如何填写这些字段?

我尝试了多种组合,我将值放在引号中(""),并且不带引号。在 中,AuthLDAPURL我尝试将带和不带引号的 ldap url"ldap:xxx.xxx.xx.xx"放在 ip 地址前面。

但最重要的是,我不确定我把正确的信息放在了这些地方,

首先,我有这些信息,我有一个 LDAPuserpassword,它的创建只是为了允许查询ldap_search,然后我"OU=xxx,OU=yyy,DC=zzz,DC=qqq"也有部分,最后我有我的 LDAP IP 地址。

有了这些信息,我可以在 PHP 中正确地与 LDAP 建立连接并检索用户列表,因此这些凭证可以正常工作。

现在进行AuthnProviderAlias设置,我应该把什么信息放在哪里?

对于AuthLDAPBindDN,这里的正确值是什么?我需要输入从搜索用户那里获得的登录名吗?还是我应该把部分放在"OU=xxx,OU=yyy,DC=zzz,DC=qqq"这里?

然后,因为AuthLDAPBindPassword这看起来很简单,我输入了搜索用户的密码

最后,AuthLDAPURL我在这里输入了 LDAP 服务器地址,但是采用什么格式呢?

我在网上找到了这里使用的不同语法,例如:

AuthLDAPURL "ldap://xx.yyy.z.zz:port/OU=xxx,OU=yyy,DC=zzz,DC=yyy?samaccountname"

AuthLDAPURL "ldap://xx.yyy.z.zz:port/OU=xxx,OU=yyy,DC=zzz,DC=yyy"

AuthLDAPURL "ldap://xx.yyy.z.zz:port"

AuthLDAPURL "xx.yyy.z.zz:port"

那么谁能帮我解释一下语法?在 LDAP 中,我们"samaccountname"通常使用 as login

谢谢,以及所有这些带引号和不带引号的变体

相关内容