免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: hxlxsj
打印 上一主题 下一主题

[ldap] ldap连接本地服务器问题 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2005-03-02 09:01 |只看该作者

ldap连接本地服务器问题

我的slapd.conf文件内容改成:
ucdata-path C:/openldap/ucdata
include C:/openldap/etc/schema/core.schema
pidfile C:/openldap/var/run/slapd.pid
argsfile C:/openldap/var/run/slapd.args
allow bind_v2
database bdb
suffix "dc=test.com"
rootdn "uid=abcd,o=test,dc=test.com"
rootpw secret
directory        C:/openldap/var/openldap-data
index objectClass eq

我测试用的php文件内容为:
<?php
$ldap['host'] = "localhost";
$ldap['port'] = 389;
$ldap['dn']   = "uid=abcd,dc=test.com";
$ldap['base'] = "";

// connecting to ldap
echo "start LDAP <br>;";
echo "连接中 ...";
$ds=ldap_connect($ldap['host'],$ldap['port']);
echo "连上 ".$ds."<br>;";

if ($ds){
        $r = ldap_bind($ds,"dc=test.com","secret";
}else{
        echo "fail";
}
?>;


我的c:\openldap\var\openldap-data\test.ldif文件内容为:
dn: uid=abcd,dc=test.com,o=test
dc: test.com
objectClass: dcObject
objectClass: organization
o: test

但经过测试,错误显示还为:

start LDAP
连接中 ...连上 Resource id #2

Warning: ldap_bind(): Unable to bind to server: Invalid credentials in ......
表明能连上服务器,但不能绑定。

论坛徽章:
0
32 [报告]
发表于 2005-03-02 12:31 |只看该作者

ldap连接本地服务器问题

能加我吗?bluemoonstar7@hotmail.com
我安的是OPENLDAP2.0.27FORWIN.也是用命令行方式往里面加不进去数据
共同研究一下吧

论坛徽章:
0
33 [报告]
发表于 2005-03-02 16:07 |只看该作者

ldap连接本地服务器问题

让我们来看看你的连接吧,
$r = ldap_bind($ds,"dc=test.com","secret"
      

第二个参数是错误的,应该写成你要绑定的DN,而不是suffix,例如你要用uid=abcd,dc=test.com来绑定
应该这么写ldap_bind($ds,"uid=abcd,dc=test.com","secret";
还有你的目录的数据中有没有这个DN,要是没有可以添加上,
例如
dn: uid=abcd,dc=test.com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: abcd
sn: abcd
uid:abcd
userPassword:secret

添加上您在试试!

论坛徽章:
0
34 [报告]
发表于 2005-03-03 08:54 |只看该作者

ldap连接本地服务器问题

starxing您好:
我按照您的意思照办但问题依照
Warning: ldap_bind(): Unable to bind to server: Invalid credentials in .....

论坛徽章:
0
35 [报告]
发表于 2005-03-03 10:38 |只看该作者

ldap连接本地服务器问题

将你的slapd.conf中的文件 include段像以下的添加完整,
include                C:/openldap/etc/schema/core.schema
include         C:/openldap/etc/schema/corba.schema
include         C:/openldap/etc/schema/cosine.schema
include         C:/openldap/etc/schema/inetorgperson.schema
include         C:/openldap/etc/schema/misc.schema
include         C:/openldap/etc/schema/openldap.schema
include         C:/openldap/etc/schema/nis.schema
include         C:/openldap/etc/schema/java.schema

把allow bind_v2 注释掉;


下面的程序你参考一下
// verify that the login is good
$ds = @ldap_connect($ldap['host'],$ldap['port']);

// go with LDAP version 3 if possible
@ldap_set_option( $ds, LDAP_OPT_PROTOCOL_VERSION, 3 );

$r = @ldap_bind($ds); //这用的是匿名登陆!!!

if( ! $r) {
        echo "Could not bind  LDAP server.";
}

从你的配置文件中是支持匿名登陆的,这样应该是成功的。

用这个命名
ldapsearch -x -b "dc=test.com"
察看一下你里面的数据,看看你的目录中到底有什么条目。
你要用来绑定的条目一定要存在目录中,并且userPassword一定有,
不然是不能成功的。

如果没有你就添加几个条目上去。

添加成功后再用代用户名和密码的ldap_bind试一试,祝您好运!

论坛徽章:
0
36 [报告]
发表于 2005-03-03 11:31 |只看该作者

ldap连接本地服务器问题

我完全按照您的意思完成了修改,经测试错误还是如下:
Could not bind LDAP server.
运行ldapsearch -x -b "dc=test.com"
显示:ldap_bind:Can't contact LDAP server (-1)
同时ldap服务启不来,显示:
....
c:/openldap/etc/schema/core.schema:line 77uplicate attributeType:"2.5.4.2"
slapd shutdown:freeing system resources.
slapd staopped.
connections_destroy:nothing to destroy.

论坛徽章:
0
37 [报告]
发表于 2005-03-03 11:57 |只看该作者

ldap连接本地服务器问题

能不能把你的slapd.conf文件和用来测试的.ldif文件给我发一封邮件
我的邮件地址是star_xing@126.com

论坛徽章:
0
38 [报告]
发表于 2005-03-04 08:45 |只看该作者

ldap连接本地服务器问题

starxing:
我已经把我的slapd.conf,xsj.ldif,test.php以及openldap服务启动情况发给您了。

论坛徽章:
0
39 [报告]
发表于 2005-03-04 09:18 |只看该作者

ldap连接本地服务器问题

关注!
我也搞不好,又由其它事做,也就放下了.

论坛徽章:
0
40 [报告]
发表于 2005-03-04 10:52 |只看该作者

ldap连接本地服务器问题

已经回信,请查收!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP