如何通过sAMAccountName和Domain对LDAP商店进行查询? 在活动目录或LDAP术语中,"domain" 属性的名称是什么?
这是我到目前为止的过滤器的情况。我希望能够加入域。
(&(objectCategory=Person)(sAMAccountName=BTYNDALL))
"Domain"不是LDAP对象的一个属性。它更像是对象所存储的*数据库的名称。
所以你必须连接到正确的数据库(在LDAP术语中:"绑定到域/目录服务器"),以便在该数据库中执行搜索。
一旦你绑定成功,你的查询在它目前的形式下就是你所需要的全部。
BTW:选择"ObjectCategory=Person"而不是"ObjectClass=user"是一个好的决定。在AD中,前者是一个"索引属性",具有很好的性能,后者没有索引,速度稍慢。
"ObjectCategory=Person"
"ObjectClass=user"
你必须在域名中进行搜索。
http://msdn.microsoft.com/en-us/library/ms677934(VS.85).aspx
所以,基本上你应该绑定到一个域,以便在这个域内进行搜索。
如果你使用.NET,请使用 DirectorySearcher 类。你可以把你的域作为一个字符串传入构造函数。
// if you domain is domain.com... string username = "user" string domain = "LDAP://DC=domain,DC=com"; DirectorySearcher search = new DirectorySearcher(domain); search.Filter = "(SAMAccountName=" + username + ")";
"Domain"不是LDAP对象的一个属性。它更像是对象所存储的*数据库的名称。
所以你必须连接到正确的数据库(在LDAP术语中:"绑定到域/目录服务器"),以便在该数据库中执行搜索。
一旦你绑定成功,你的查询在它目前的形式下就是你所需要的全部。
BTW:选择
"ObjectCategory=Person"
而不是"ObjectClass=user"
是一个好的决定。在AD中,前者是一个"索引属性",具有很好的性能,后者没有索引,速度稍慢。你必须在域名中进行搜索。
http://msdn.microsoft.com/en-us/library/ms677934(VS.85).aspx
所以,基本上你应该绑定到一个域,以便在这个域内进行搜索。
如果你使用.NET,请使用 DirectorySearcher 类。你可以把你的域作为一个字符串传入构造函数。