毕竟用PHP操作LDAP有局限性,因为当我们用生成证书的函数生成证书以后不可能再用PHP去给LDAP增加条目,所以最近研究了一下C语言操作LDAP,希望能对大家有点借鉴意义,有错误的地方还请原谅。至于如何安装,运行和测试LDAP服务器请看http://www.infosecurity.org.cn/forum/read.php?fid=12&tid=47&fpage=1
毕竟用PHP操作LDAP有局限性,因为当我们用生成证书的函数生成证书以后不可能再用PHP去给LDAP增加条目,所以最近研究了一下C语言操作LDAP,希望能对大家有点借鉴意义,有错误的地方还请原谅。至于如何安装,运行和测试LDAP服务器请看http://www.infosecurity.org.cn/forum/read.php?fid=12&tid=47&fpage=1
一 初始化LDAP库
#include
#include
ld=ldap_init(ldap_host,LDAP_PORT)
假如没有进行端口修改的话,用默认的LDAP_PORT就可以了,在ldap.h中定义为389
二 绑定LDAP服务器
if(ldap_bind_s(ld,user_dn,user_pw,authmethod)!=LDAP_SUCCESS)
authmethod是使用的验证方法,一般为LDAP_AUTH_SIMPLE,至于user_dn,user_pw就是用户和密码拉
可以使用ldap_unbind_s(LDAP *ld)来关闭绑定。
三 执行查询
ldap_search_s(LDAP ld,char *base_dn,int scope ,char *filter ,char *attrs_reqired[],int attributesonly,LDAPMessage **result)
base_dn是指向查询开始处对象的指针,它可以作为数的顶端,或者某一个低的点
scope有三个,为
LDAP_SCOPE_BASE,只对基点dn指定的对象进行搜索