我需要帮助检索所有可能的属性(区分名称等),以及使用C# 4.0代码从服务器检索值。
我的最终用户只需在我的应用程序.中输入LDAP服务器的名称。
LDAP服务器可以是专用服务器,也可以是打开的LDAP服务器,如本页所示,公共LDAP服务器。
我使用System.DirectoryServices.Protocols.LdapConnection
类连接到LDAP服务器,使用System.DirectoryServices.Protocols.SearchRequest
类检索值。
,这是我的问题:
System.DirectoryServices.Protocols.SearchRequest
类需要服务器的可分辨名称作为检索用户、组等的参数。
我的最终用户只需输入服务器名.
我必须通过我的C#代码从服务器获得可分辨的名称。我无法为我的问题找到(甚至谷歌出) C#解决方案。
我在网上找到了一个能做我想做的事的应用程序。我只提供了LDAP服务器名,它从该服务器检索值(可分辨名称、端口号等)。
可以给我一个使用C# .NET 4.0.值的解决方案吗?
我不能使用任何付费第三方软件或dll。
发布于 2013-07-03 03:26:04
LDAP不使用属性,它具有属性。要从服务器获取属性,LDAP客户端必须连接到服务器,使用绑定请求对连接进行身份验证,然后向服务器发送搜索请求并解释服务器的响应。搜索请求至少包括以下内容:
适当编码的LDAP客户端除了上述必需的元素外,还将包括大小限制和时间限制。
来自服务器的搜索结果将包含整数结果代码和匹配搜索请求参数的对象列表(由搜索筛选器筛选)。搜索可以成功,但不返回任何条目。
如果基本对象未知,则在根DSE中发送对namingContexts
属性的搜索请求。只有使用基对象"“和搜索范围' base‘才能获得根DSE。过滤器应该是(&)
或(objectClass=*)
。目录服务器在根DSE中发布某些信息,包括namingContexts,尽管与其他所有信息一样,该信息受访问控制的约束。
另请参阅
https://stackoverflow.com/questions/17441321
复制