解释ldap字符串的部分“LDAP:// DC = amrs,DC = win,DC = ml,dc = COM”

时间:2010-12-01 15:09:56

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

有人可以解释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”

有人能解释一下吗?

3 个答案:

答案 0 :(得分:16)

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

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

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

答案 1 :(得分:0)

这取决于您的特定LDAP架构。尝试使用像JXplorer这样的LDAP浏览器来了解Schema的结构。这对于尝试这样的查询也很棒。

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

答案 2 :(得分:0)

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

Active Directory LDAP Query by sAMAccountName and Domain

了解事情是如何完成的并通过实例学习。对我来说,它有点像正则表达式,虽然不是那么神秘,我每次都要查找它,如果我需要的东西,但至少我能看到它的部分,就像DC,我可能有dc = mydomain, DC =组织。我知道通过查看这是我开始查询的最高级别。从那里我必须查阅它。