如何确定您的域不是 AD 或 ADAM?

如何确定您的域不是 AD 或 ADAM?

我正在尝试在 ASP MVC 中设置一些身份验证内容,但不断收到错误,提示它不支持除 Active Directory (AD) 和 Active Directory 应用程序模式 (ADAM) 之外的任何内容。

我如何才能确定我的 LDAP 提供程序的实际运行版本?是否有某种命令或查询可以针对它运行?完全有可能它不是 AD 或 ADAM,但我不知道如何确定。

答案1

一些目录服务器根据以下规定在根 DSE 中发布有关供应商的信息 RFC3045。要检索有关 vendorName 和 vendorVersion 的信息,请执行以下查询:

ldapsearch -h hostname -p port -b "" -s base '(objectClass=*)' vendorName VendorVersion

例如,在我的系统上:

ldapsearch -h localhost -p 1389 -b '' -s base '(objectClass=*)' vendorName VendorVersion
dn:
vendorName: UnboundID Corp.
VendorVersion: UnboundID Directory Server 3.1.0.2

请注意,此信息可能受到限制。有关根 DSE 的更多常规信息,请参阅我的博客入口

答案2

当您启动应用程序时,让它检查 AD 或 ADAM 的一些众所周知的功能。

也许是某些特定的模式属性?(可能是一种弱方法,因为您通常可以将模式添加到看起来像 AD 的其他目录服务器中)。

也许 rootDSE 广告中的某些内容是 Terry G 所建议的?

也许某些扩展的 LDAP 操作绑定只有 AD 支持,而其他目录不支持?

找到 AD/ADAM 独有的东西并测试其是否存在,如果不存在则发出警告。

相关内容