【问题标题】:LDAP, DirectoryServices c# search base for queriesLDAP,DirectoryServices c# search base for queries
【发布时间】:2014-06-27 23:36:48
【问题描述】:

我正在尝试使用 LDAP 服务器,该服务器的客户端登录显然必须是简单绑定(具有专有名称)。

var clientEntry = new DirectoryEntry(
"LDAP://server.de",
"cn=medialibrary, ou=special users, dc=uni, dc=de",
"password",
AuthenticationTypes.None);

DirectorySearcher directorySearch = new DirectorySearcher(clientEntry, "(cn=searchuser");

SearchResult result = directorySearch.FindOne();

通过 DN 的连接工作正常。但是,搜索 cn=searchuser 不会返回任何用户(也不会出现错误)。

我们试图搜索的用户在路径中:

ou=people,dc=uni,dc=de

在 LDAP-Admin 实用程序中,我们可以使用 cn=medialibrary 等 DN 登录,然后如果我们将搜索库修改为 “ou=people,dc=uni-potsdam,dc=de” 然后搜索我们找到 cn=searchuser 条目

问题是在 C# 代码中修改搜索库的等效方法是什么?

(目标用户与我最初必须绑定到的目录条目给出的默认分支位于不同的分支中。)

我相信这个原始目录 url 已经尝试过但不起作用(权限?)

LDAP://server.de/ou=people,dc=uni,dc=de

【问题讨论】:

    标签: c# ldap directoryservices


    【解决方案1】:
    string LDAPpAth = "dc=uni,dc=de"
    string filter = "(cn=searchuser)"
    string username = "medialibrary"
    string password = "password"
    DirectoryEntry startingPoint = new DirectoryEntry("LDAP://"+LDAPpAth, username, password);
    DirectorySearcher searcher = new DirectorySearcher(startingPoint);
    searcher.Filter = filter;
    

    您可以从那里执行 searcher.findone 并将该值用于您需要的内容。让我知道这是否有效。

    【讨论】:

    • 我已要求客户对此进行测试,但他们坚持需要 DN。我将自己运行一批测试并再次包含它,但暂时我们可以有一个使用 DN 作为用户名的示例,谢谢
    猜你喜欢
    • 2010-11-29
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    • 2022-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多