0

可能重复:
登录 LDAP 时使用 cn 或 uid 的专有名称有什么区别?

我试图欺骗应用程序登录用户。我不是想破解任何东西,我们购买了一个尝试与某些严格设置连接的应用程序。我正在努力让它发挥作用。

基本上我必须定义搜索库:

  ou=employees,ou=Main,o=mycompany

如果我尝试以 johnsmith 身份登录,它会将用户名作为 uid 预先添加到搜索库中,如下所示:

  uid=johnsmith,ou=employees,ou=Main,o=mycompany

事实证明,Novell eDirectory 使用 cn 作为专有名称(而不是 uid)。

有什么方法可以使用通配符欺骗应用程序吗?我希望这样的事情可能会奏效:

  uid=*,cn=johnsmith,ou=employees,ou=Main,o=mycompany 

但这不起作用。^

4

2 回答 2

2

您的声明“事实证明 Novell eDirectory 使用 cn 作为可分辨名称(而不是 uid )。” 本身不正确。

默认情况下,它使用属性 CN 作为命名属性。您可以在 eDirectory 中创建命名属性为 uid= 的对象,但这不是默认值。

您可以通过 LDIF 使用 modrdn 将每个人重命名为 uid= 他们当前的 CN 值。

我最初建议您将 uid 属性重新映射为 LDAP 服务器属性映射中的 CN 值。但转念一想,我不确定这是否会有所帮助。

因为您的应用程序不是在搜索 uid= 某个值的用户,而是基于假设构建 DN。

但是您可以尝试看看它是否有帮助:

在您的 LDAP 服务器对象中,(您应该使用 iManager 进行此更改,ConsoleOne 管理单元不再更新和支持)有一个选项可以指定 LDAP 属性映射。

只需将 eDirectory CN 映射到 LDAP uid。

另外,您知道如何在 eDirectory 服务器端使用 DStrace 来观察通过 LDAP 查询进入的事件吗?

(eDir serverIP:8008 for Netware,:8028 如果在 Linux 或 Windows/nds 上,然后跟踪配置,清除所有,启用 LDAP)。

于 2011-10-24T03:58:08.667 回答
2

答案是不。搜索请求需要以下参数:

  • 基础对象
  • 范围(子树、一或基)
  • 筛选
  • 要检索的属性列表(可选)
  • 时间限制(可选)
  • 大小限制(可选)
  • 控件(可选)
  • 仅类型(可选)

服务器通过创建一个候选条目列表来处理请求,该列表从base object. 如果scopesubtree,则从属于的所有条目base object都可以是候选者,如果scopeone,则只有直接从属于 的条目才被base object认为是候选者,否则scope是唯一的base和候选者base object。过滤器用于过滤掉候选者,即仅将filter断言评估为的候选true者返回给 LDAP 客户端。如果属性列表为空,则返回除操作属性之外的所有属性。如果属性列表包含@objectClassName,然后返回条目中存在的命名 objectClass 中需要或允许的所有属性。如果属性列表"1.1"只是条目的专有名称,则返回给 LDAP 客户端("1.1"是一个没有属性可以匹配的 OID),如果属性列表是"+",则所有操作属性都返回给客户端,否则请求的属性是返回到 LDAP 客户端。仅当按名称明确请求时,符合 LDAP 的服务器才返回操作属性。这time limit是一个可选的、客户端请求的对服务器应花费在处理请求上的时间量的限制。这size limit是一个可选的、客户端请求的对服务器应返回 LDAP 客户端的条目数的限制。客户端请求的参数不能覆盖服务器设置。Controls是搜索请求中包含的可选数据。有关搜索请求的更多信息,请参阅“使用 ldapsearch ”。

于 2011-10-24T09:14:08.723 回答