14

我在使用 LDAP 对登录进行身份验证时遇到了问题。

我已经创建了一个包含所有基本信息的用户,并尝试通过 phpldapadmin 登录详细信息:

Login DN: cn=Sample User,ou=people,dc=example,dc=om
Password: xxxx

然后就可以登录了。

但是当我尝试使用这个时:

Login DN: uid=sampleuser,ou=people,dc=example,dc=om
Password: xxxx

它永远不会起作用(无法登录)。

请告诉我我应该配置什么?

4

2 回答 2

24

如果 LDAP 客户端使用简单的 BIND 操作,则 BIND DN 必须存在。简单的 BIND 操作至少将 DN 和密码作为参数。

考虑以下条目:

dn: cn=sample user,ou=people,dc=example,dc=com
objectClass: top
objectClass: inetOrgPerson
cn: sample user
uid: sampleuser

与以下条目不同:

dn: uid=sampleuser,ou=people,dc=example,dc=com
objectClass: top
objectClass: inetOrgPerson
cn: sample user
uid: sampleuser

即使属性相同(本例中省略了 inetOrgPerson 所需的 SN)。Th DN 是主键,必须与简单的 BIND 操作一起使用。上面给出的条目是两个完全独立的条目,具有两个不同的 DN。

于 2013-08-12T09:38:52.373 回答
7

我知道它有点过时了,但我面临同样的问题。事情正如特里所描述的那样,完整的 dn 是不同的。您可以通过强制 phpldapadmin 创建用户并将 uid 作为 dn 中的第一个键来解决此问题。

你可以改变

<rdn>cn</rdn>

<rdn>uid</rdn>

在文件中

/etc/phpldapadmin/templates/creation/posixAccount.xml

这将创建每个 posixAccount 为:

dn: uid=sampleuser,ou=people,dc=example,dc=com
于 2018-01-03T14:15:29.173 回答