我在使用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
它永远不会起作用(无法登录)。
请告诉我应该配置什么?
答案 0 :(得分:22)
如果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)。 DN是主键,必须与简单的BIND操作一起使用。上面给出的条目是两个完全独立的条目,有两个不同的DN。
答案 1 :(得分:3)
我知道它有点过时,但我遇到了同样的问题。正如Terry描述的那样,完整的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