【问题标题】:explaining the parts of the ldap string "LDAP://DC=amrs,DC=win,DC=ml,dc=COM"解释 ldap 字符串“LDAP://DC=amrs,DC=win,DC=ml,dc=COM”的各个部分
【发布时间】:2010-12-01 15:09:56
【问题描述】:

谁能解释一下 ldap 字符串部分的构成。

我拥有的是:

string strSQL = "SELECT mail FROM 'LDAP://DC=amrs,DC=win,DC=ml,dc=COM' WHERE samaccountname = '" + UserName.Replace(@"AMRS\", "") + "'";

这会收到一封针对特定用户名的电子邮件。现在我需要从 ldap 查询中获取其他信息并且无法正确设置,而且我也不知道 ldap 设置中的值是什么。 "LDAP://DC=amrs,DC=win,DC=ml,dc=COM"

谁能给我解释一下?

【问题讨论】:

标签: c# asp.net ldap ldap-query


【解决方案1】:

LDAP 字符串中的 DC= 前缀代表域组件 (dc)。这些是组成 LDAP 服务器域的部分。这些是固定的,需要用于该服务器上的任何对象。

在“DNS 样式”中,这将显示为:(something).amrs.win.ml.com(例如服务器名称、机器名称等)

Richard Mueller 有一个 great post 解释 LDAP 绑定字符串中最常见的前缀 - 诸如 dc=ou=(组织单位)或 cn=(通用名称)之类的东西。

【讨论】:

    【解决方案2】:

    这取决于您的特定 LDAP 架构。尝试使用 JXplorer 之类的 LDAP 浏览器来了解 Schema 的结构。它也非常适合尝试这样的查询。

    DC 是域组件的缩写。 LDAP: URL 描述了特定服务器上的子树。您的 where 子句查询该匹配项的属性 samaccountname 的条目。

    【讨论】:

      【解决方案3】:

      您只是向 LDAP 服务器发出查询。像其他任何东西一样,它有自己的查询格式。我不会称它为一种语言,但它肯定必须正确格式化。您需要找到有关 LDAP 的基本教程以及可以在 LDAP 目录中查找的组件,例如 Windows。您还可以查看以下项目:

      Active Directory LDAP Query by sAMAccountName and Domain

      看看事情是如何完成的,并通过例子来学习。对我来说,它有点像正则表达式,虽然没有那么神秘,如果我需要一些东西,我每次都必须查找它,但至少当我看到它时我可以识别部分,比如在 DC 上,我可能有 dc=mydomain,直流=组织。我通过查看知道这是我开始查询的最高级别。从那里我必须查一下。

      【讨论】:

        猜你喜欢
        • 2019-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-16
        • 2022-01-15
        • 2014-02-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多