Openldap 中的错误结构

Openldap 中的错误结构

我有一个关于 Openldap 的问题。我正在使用一个解决方案 (PingFederate),它从 openldap 获取错误,并根据过滤器执行不同的操作。例如,我可以说:检测无效 DN 错误,并在获取该错误时执行某些操作。

我已将 ppolicy 中的 olcPPolicyUseLockout 设置为 true,以便在存在无效凭据时获取更多信息;这样 Pingfederate 就可以捕获它。但它不起作用

当我使用带有 -e ppolicy 的 ldapwhoami 时,我收到以下信息:ldap_bind:无效凭据(49);密码已过期 ldap_bind:无效凭据(49);帐户已锁定

所以我的问题是:Openldap 中的分号是什么意思?分号后的消息是否被考虑在内?Openldap 是否会将整个错误传达给与其集成的其他解决方案?

答案1

首先请注意,OpenLDAP 命令行工具输出一些结果代码和诊断消息的文本表示,这不是精确的在线协议编码。

LDAP PDU 是 ASN.1 编码的消息。要了解响应结构,您可以查看RFC 4511 第 4.1.9 节. 要观察 LDAP 组件实际发送的 LDAP PDU,Wireshark 中的 LDAP 解析器非常有用。

主要是 OpenLDAP 的覆盖slapo政策实现草案-behera-ldap-密码策略-09该互联网草案指定了所谓的扩展控制,包括对请求和响应的控制,扩展了绑定操作的协议语义。

这意味着每个支持策略的 LDAP 客户端必须 1. 发送密码策略请求控制2. 解码并解释响应控制

也可以看看python-ldap 演示代码举个例子。

相关内容