匿名连接到服务器后如何获取有关人员的信息。
我正在搜索 uid=barbara 到匿名绑定的 ldap 服务器,如下所示,
我得到错误,
LDAP initialize successful.
Set LDAPv3 client version.
LDAP connection successful.
ldap_search_ext_s: No such object
如果我 chnage char *FIND_DN = "ou=Users,dc=example,dc=com";
rc = ldap_simple_bind_s(ld,root_dn ,root_pw); 它工作正常。
下面的代码:
int main(int argc, char**argv)
{
LDAP *ld;
int desired_version = LDAP_VERSION3;
char *ldap_host = "localhost";
char *root_dn = "cn=Manager, dc=example,dc=com";
char *root_pw = "secret";
char *FIND_DN = "dc=example, dc=com";
LDAPMessage *result, *e;
BerElement *ber;
char *a;
char **vals;
int i, rc;
ldap_initialize( &ld, ldap_host );
printf("LDAP initialize successful.\n");
rc = ldap_set_option(ld, LDAP_OPT_PROTOCOL_VERSION, &desired_version);
if ( rc != LDAP_SUCCESS ) {
perror( "ldap_set_option failed" );
exit(EXIT_FAILURE);
} else {
printf("Set LDAPv3 client version.\n");
}
rc = ldap_simple_bind_s(ld,NULL ,NULL);
if ( rc != LDAP_SUCCESS ) {
fprintf(stderr, "ldap_simple_bind_s: %s\n", ldap_err2string(rc));
exit(EXIT_FAILURE);
} else {
printf("LDAP connection successful.\n");
}
if ( ( rc = ldap_search_ext_s( ld, FIND_DN, LDAP_SCOPE_SUBTREE,
"(uid=barbara)",NULL,0,NULL,NULL,NULL,
LDAP_NO_LIMIT, &result ) ) != LDAP_SUCCESS ) {
fprintf(stderr, "ldap_search_ext_s: %s\n", ldap_err2string(rc));
ldap_unbind( ld );
return( 1 );
}
ldap_msgfree( result );
ldap_unbind( ld );
return( 0 );
}
在 ldapsearch 命令上,我得到
输入 LDAP 密码: # 用户,example.com dn: ou=Users,dc=example,dc=com ou:用户 描述:Example.Com 用户 对象类:组织单位 # 马特,用户,example.com dn: uid=matt,ou=Users,dc=example,dc=com ou:用户 uid:马特 cn:马特·布彻 sn:屠夫 给定姓名:马特 给定姓名:马修 显示名称:马特屠夫 标题:系统集成商 描述:Example.Com 的系统集成和 IT 员工类型:员工 部门编号:001 员工编号:001-08-98 邮件:mbutcher@example.com 邮件:matt@example.com 房间号:301 电话号码:+1 555 555 4321 手机:+1 555 555 6789 圣:伊利诺伊州 l:芝加哥 街道:西塞罗大街 1234 号。 家庭电话:+1 555 555 9876 homePostalAddress: 1234 home street $ Chicago, IL $60699-1234 用户密码:: c2VjcmV0 首选语言:en-us,en-gb 对象类:人 objectClass: 组织的人 对象类:inetOrgPerson # barbara,用户,example.com dn: uid=barbara,ou=Users,dc=example,dc=com ou:用户 uid:芭芭拉 sn:詹森 cn:芭芭拉·詹森 给定姓名:芭芭拉 显示名称:芭芭拉詹森 邮件:barbara@example.com 用户密码:: c2VjcmV0 对象类:人 objectClass: 组织的人 对象类:inetOrgPerson # 搜索结果 搜索:2 结果:0 成功 # 响应数:4 # numEntries: 3