如何在 .NET Core 中查询 Active Directory?

Vij*_*123 1 ldap .net-core

我想在 .NET Core 项目中查询 Active Directory,并通过提供用户 ID 来获取用户的详细信息。

LDAP 服务器路径的格式如下:ldap://

Jai*_*ime 5

LDAP URL指定您要使用的服务器和要执行的查询。例如,在查询中:

ldap://ds.example.com:389/dc=example,dc=com?givenName,sn,cn?sub?(uid=john.doe) 
Run Code Online (Sandbox Code Playgroud)
  • ds.example.com:389包括 LDAP 服务器和端口。
  • dc=example,dc=com是基本 DN
  • givenName,sn,cn是要包含在结果中的属性,
  • sub是范围,并且
  • (uid=john.doe)是查询

.NET 中有一个LDAP 库,但未包含在 .NET Core 中。您可以使用Novell LDAP 库来查询 .NET Core 中的 LDAP 和/或 Active Directory 服务器。该文档可从 Novell获取。

Novell 库的文档提到了 LDAP URL。如果您有 LDAP URL,我认为您必须拆分 URL 以获取每个部分并执行查询。


获取用户信息

使用 Novell 库,您可以连接到服务器并使用条目属性执行LDAP 查询,例如(givenName=John)(!givenName=John)或 等查询(givenName=Jo*)您可以在此处此处此处查看示例代码。

在 Windows/Active Directory 中,登录名存储在sAMAccountName. 您可以使用类似的查询

(&(objectClass=user)(objectClass=person)(sAMAccountName={0}))
Run Code Online (Sandbox Code Playgroud)