
我有一個關於 Openldap 的問題。我正在使用一個解決方案(PingFederate),它從 openldap 獲取錯誤,以根據過濾器執行不同的操作。例如我可以說:檢測無效的 DN 錯誤,當你得到它時做一些事情。
我已在 ppolicy 中將 olcPPolicyUseLockout 設為 true,以便在存在無效憑證時獲取更多資訊;這樣 Pingfederate 就能捕捉它。但這不起作用
當我將 ldapwhoami 與 -e ppolicy 一起使用時,我得到以下資訊: 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的overlay斯拉波政策實施草稿-behera-ldap-密碼-策略-09。該網路草案指定了所謂的擴展控制,包括請求和回應,擴展了綁定操作的協定語義。
這意味著每個支援策略的 LDAP 用戶端必須 1. 發送密碼策略請求控制2. 解碼並解釋回應控制。
也可以看看python-ldap 示範程式碼舉個例子。