我正在运行一个带有 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 地址前面。
但最重要的是,我不确定我把正确的信息放在了这些地方,
首先,我有这些信息,我有一个 LDAPuser
和password
,它的创建只是为了允许查询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
谢谢,以及所有这些带引号和不带引号的变体