从控制台运行: ldapsearch -D cn=admin,dc=psikon,dc=net -LLL -W
我得到一个条目:
dn: cn=megatron,ou=Executive,dc=psikon,dc=net sn: megatron objectClass: inetOrgPerson objectClass: top userPassword:: [password] cn: megatron
到现在为止还挺好?
所以一个虚拟主机有一个简单的configuration:
AuthBasicProvider ldap AuthLDAPURL "ldapi:///?cn" AuthLDAPBindDN "cn=admin,dc=psikon,dc=net" AuthLDAPBindPassword "[admin passwd]" Require valid-user
当尝试login但是,Apache日志说:
[Fri Nov 30 09:14:57 2012] [debug] mod_authnz_ldap.c(403): [client 173.246.22.18] [11233] auth_ldap authenticate: using URL ldapi:///?cn [Fri Nov 30 09:14:57 2012] [info] [client 173.246.22.18] [11233] auth_ldap authenticate: user megatron authentication failed; URI / [ldap_search_ext_s() for user failed][No such object] [Fri Nov 30 09:14:57 2012] [error] [client 173.246.22.18] user megatron not found: /
我的环境:
操作系统: Ubuntu 12.04 LTS
OpenLDAP: 2.4.28
Apache httpd: 2.2.22
我真的不明白为什么这不起作用,因为它似乎我做了相同的search与ldapsearch的作品? O_O
您的AuthLdapUrl是错误的 。 格式是ldap:// host:port / basedn?attribute?scope?filter – 或者更具体地说ldapi:/// ou = Executive,dc = psikon,dc = net?cn?one