Linux C++利用openldap实现ldap客户端
来源:互联网 发布:支付宝 for mac版下载 编辑:程序博客网 时间:2024/05/21 14:58
1.编译
由于我们不需要服务端,屏蔽掉服务端的编译,可以跳过很多依赖。
./configure --prefix=/opt/openldap --enable-slapd=no --enable-backends=no --enable-overlays=no
后面就是按照INSTALL上的来:
make depend
make
make test
make install
大功告成,只需要取include目录和lib目录下的libldap-2.4.so.2.10.3、liblber-2.4.so.2.10.3
2.核心调用
//初始化<span style="white-space:pre"></span>ldap_initialize(&m_ldap, m_strURL.c_str());//设置3代协议<span style="white-space:pre"></span>ldap_set_option(m_ldap, LDAP_OPT_PROTOCOL_VERSION, (const void*) &m_nProtocolVer);//设置超时时间 <span style="white-space:pre"></span>timeval time; <span style="white-space:pre"></span>time.tv_sec = m_lTimeoutSeconds; <span style="white-space:pre"></span>time.tv_usec = 0; <span style="white-space:pre"></span>nRet = ldap_set_option(m_ldap, LDAP_OPT_NETWORK_TIMEOUT, (const void*) &time);//登录 <span style="white-space:pre"></span>berval cred; cred.bv_val = new char[strEncPassword.size() + 1]; if(cred.bv_val == NULL) break; strncpy(cred.bv_val,strEncPassword.c_str(),strEncPassword.size()); cred.bv_len = strEncPassword.size(); nRet = ldap_sasl_bind_s(m_ldap, szUserName, strAuthMethod.size() > 0 ?strAuthMethod.c_str() : LDAP_SASL_SIMPLE, &cred,NULL,NULL,NULL ); delete cred.bv_val;//登出<span style="white-space:pre"></span>ldap_unbind_ext_s(m_ldap,NULL,NULL);
3.Makefile
LDLIBS += -Llib \
-lldap \
-llber \
如果使用了过时的函数,就需要CFLAGS += -DLDAP_DEPRECATED=1
0 0
- Linux C++利用openldap实现ldap客户端
- Linux下LDAP Server/Client配置 --OpenLDAP
- Linux下LDAP Server/Client配置 --OpenLDAP
- 如何利用OpenLDAP工具管理并使用LDAP Server
- LDAP ACL(OpenLDAP)
- ldap(二)-openldap
- openDS & LDAP & openLDAP
- OpenLDAP快速指南 (LDAP简介)
- OpenLDAP快速指南 (LDAP简介)
- linux C 实现FTP客户端
- [LDAP][翻译]OpenLDAP管理员指南(仅前七章)
- ldap - 设置一个基本的OpenLDAP Server
- LDAP学习笔记<三>深入管理openLDAP
- JAVA访问LDAP(openldap)的示例
- ldap - 设置一个基本的OpenLDAP Server
- Linux下mozilla ldap for c编译
- Linux下的LDAP服务器实现
- 使用 PAM 集成 OpenLDAP 实现 Linux 统一管理系统用户
- Redis持久化实践及灾难恢复模拟(下)
- 用户(spark)不在sudoers文件中的解决方法
- 测试你是否和LTC水平一样高(多重循环的停止)
- ios中4种开启新的线程的处理方式以及运用范围(多线程)
- 范式
- Linux C++利用openldap实现ldap客户端
- 使用Symbolicatecrash和xcrun atos分析crash log
- Exists 和 In
- excel表格转换为甘特图(wps)
- C#中Invoke 和 BeginInvoke 的区别
- MYSQL 常用操作命令
- GoldenGate的安装配置Redhat Linux for oracle 11.2.0.3
- android基础学习之状态栏的基本应用
- WatchKit 框架: 将应用程序从裤兜里取出来