如何使用内容同步操作捕获 LDAP 同步信息消息

How to catch LDAP Sync Info Message using Content Synchronization Operation

我正在尝试使用 .Net Core 控制台应用程序从 Openldap 服务器检索已删除的 UUID。

我能够看到同步信息消息确实是由我的 Openldap 服务器发送的,并且它包含 present 条目的 UUIDS整个响应。

我使用 syncprov Overlay 设置了一个 Openldap 服务器(参见我之前的问题 )。

多次重新阅读 RFC4533 和 OpenLdap Syncrepl 文档并分析响应后,使用我当前的配置(无访问日志)无法检索已删除的条目,只能检索当前条目的列表.它们包含在同步信息消息中。无论如何我都希望检索信息,这样我就可以在发送的内容和我的客户端上的内容之间进行比较。

你知道如何在C#中捕捉消息吗?

我尝试使用 DirectoryServices.Protocols 和 Novell.Directory.Ldap 库(分别)。我一定错过了什么,但不知道到底是什么...

我使用了 https://www.microfocus.com/documentation/edirectory-developer-documentation/ldap-libraries-for-c-sharp/.

提供的 Novell 代码示例(SearchPersist 示例并添加了相应的控件)

我可以检索 added/modified 个条目,但不能检索包含 存在 个条目的同步信息消息。

通过深入研究 Novell 库,我发现了一些有用的 类 用于解码 ASN1 对象。

通过使用以下代码,我能够确定中间同步信息消息的类型。

var decoder = new LBERDecoder();
(Asn1Tagged)decoder.decode(intermediateResponse.getValue());`

然后,根据标签,我能够解码消息(使用方法.decode(valueToDecode)