问题描述
我正在尝试建立 LDAP 连接以查询我的 Web 应用程序中的活动目录组,默认情况下它使用端口 389 并通过 TCP 协议进行连接。但是,出于安全原因,我只能通过 UDP 协议使用端口 389,但我正在寻找有关如何编写一种使用 UDP 协议连接到活动目录的方法的帮助。
目前我正在使用 DirectoryEntry 类 https://docs.microsoft.com/en-us/dotnet/api/system.directoryservices.directoryentry?view=dotnet-plat-ext-5.0 并在 .net 4.8 中运行 Web 应用程序。我希望使用它来加载所有组和成员。
我已经搜索了很多,我发现的唯一信息是 LDAP 可以在 UDP 上运行,并且该特定方法称为 cLDAP(无连接 LDAP),但找不到有关如何对其进行编码的任何信息。
>编辑:经过研究,我发现:https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/3fad0ec9-414c-432a-ba0b-837c74091dd6 声明“Active Directory 仅支持通过 UDP 搜索针对 rootDSE 的搜索”。具体而言,我发现 rootDSE 提供有关活动目录本身的信息,但不提供内部组的信息。
解决方法
经过研究,我发现:https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/3fad0ec9-414c-432a-ba0b-837c74091dd6 声明“Active Directory 仅支持通过 UDP 搜索针对 rootDSE 的搜索”。具体而言,我发现 rootDSE 提供有关活动目录本身的信息,但不提供内部组的信息。