Openldap のエラー構造

Openldap のエラー構造

Openldap に関して質問があります。私は、フィルターに応じてさまざまな処理を実行するために、Openldap からエラーを取得するソリューション (PingFederate) を使用しています。たとえば、無効な 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.9LDAP コンポーネントによって実際に送信された LDAP PDU を観察するには、Wireshark の LDAP ディセクタが非常に役立ちます。

主にOpenLDAPのオーバーレイslapo-ppolicy実装するドラフト-behera-ldap-パスワード-ポリシー-09このインターネット ドラフトでは、要求と応答の両方に対して、バインド操作のプロトコル セマンティクスを拡張する、いわゆる拡張制御を指定します。

これは、各ポリシー対応LDAPクライアントが1.パスワードポリシー要求制御2. 解読して解釈する応答制御

参照python-ldap デモコード例として。

関連情報