我有一个 LDAP 服务器运行于:
ldap://129.168.0.117:389
或者
ldap://roshd.org:389
roshd.org = 129.168.0.117
我在 phpldapadmin 中的 config.php 中有以下配置:
$servers = new Datastore();
$servers->newServer('ldap_pla');
$servers->setValue('server','name','My LDAP Server');
$servers->setValue('server','host','192.168.0.117');
$servers->setValue('server','port',389);
$servers->setValue('login','auth_type','session');
$servers->setValue('login','bind_id','cn=Manager,dc=roshd,dc=org');
$servers->setValue('login','bind_pass','secret');
$servers->setValue('auto_number','search_base','ou=People,dc=roshd,dc=org');
在我的sldap.conf中:
...
database bdb
directory /usr/local/var/openldap-data
suffix "dc=roshd,dc=org"
rootdn "cn=Manager,dc=roshd,dc=org"
rootpw secret
...
但是当我尝试登录 phpldapadmin 时,出现此错误。有什么想法吗?
Unable to connect to LDAP server My LDAP Server
Error: Can't contact LDAP server (-1) for user
error Failed to Authenticate to server
Invalid Username or Password.
答案1
指出不同:
$服务器->setValue('服务器','主机','192.168.0.117');
ldap://129.168.0.117:389
答案2
我怀疑 rootpw 要么需要以加密形式存储,要么以明文形式存储,在这种情况下,它可能需要不同的结果。(即,secret 的哈希值正在被发送并与明文字符串 secret 进行比较。)
答案3
如果您正在针对 ldap 本身进行身份验证,您可能需要检查此设置:
$servers->setValue('login','attr','uid');
/* If you specified 'cookie' or 'session' as the auth_type above, you can
optionally specify here an attribute to use when logging in. If you enter
'uid' and login as 'dsmith', phpLDAPadmin will search for (uid=dsmith)
and log in as that user.
Leave blank or specify 'dn' to use full DN for logging in. Note also that if
your LDAP server requires you to login to perform searches, you can enter the
DN to use when searching in 'bind_id' and 'bind_pass' above. */
// $servers->setValue('login','attr','dn');
答案4
我也遇到了同样的问题。您可以在下面查看。
检查 ldap.conf 文件中的 $servers->setValue('server','host','ipaddress'); 中是否有正确的 ipaddress。然后重新启动 tomcat 服务器。干杯。
在终端上使用“ldapsearch -x”检查您尝试登录的用户是否存在。