有人可以解释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”
有人能解释一下吗?
答案 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 =组织。我知道通过查看这是我开始查询的最高级别。从那里我必须查阅它。