0

我正在使用 InetOrgPerson、organizationalPerson、person 和 posixaccount 对象类。

我希望邮件属性成为 RDN/DN,以便它可以用于绑定(身份验证)而不是 cn/uid。

我该怎么做?

PS:我对 LDAP 很陌生。

4

1 回答 1

0

LDAP API 调用是ldap_modrdn(),它通常只modrdn()在非 C API 中调用。

您尝试解决的问题有两种不同的方法:与其重命名所有对象,更传统的方法是使用搜索代理用户根据过滤器查找 DN。这隐藏了目录中的任何命名和层次结构。

它是这样的:

  1. 用户输入电子邮件和密码
  2. 应用程序作为受限访问搜索用户绑定到目录
  3. (mail=whatever)在用户容器中搜索带有过滤器的对象
  4. 如果只找到一个用户,则尝试使用完整的 DN 和用户密码重新绑定
  5. 如果成功继续登录

如果您在 SO 中搜索“ldap search authenticate”,您应该能够找到一些合适的代码,具体取决于您正在开发的内容。

于 2013-02-20T11:38:39.650 回答