centos6.x安装php扩展ldap及使用
2016-07-07 11:29
597 查看
由于公司有些项目使用ldap协议进行用户认证,所以安装下
ldap是基于TCP/IP协议的目录访问协议,是Internet上目录服务的通用访问协议。LDAP的出现简化了X.500目录的复杂度,降低了开发成本,是X.500标准的目录访问协议DAP的子集,同时也作为IETF的一个正式标准。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。
注意事项:
1、ldap是php自带的,只需进入到php源码包的ext目录,如果是yum安装的,可下载对应php源码版本再进入ext目录
2、ldap也有图形管理界面,一般用phpldapadmin
1、安装ldap
# cd ext/ldap/
# phpize
# ./configure --with-php-config=/usr/bin/php-config --with-ldap
# make && make install
2、php加载ldap扩展
extension_dir = "/usr/lib64/php/modules/"
extension=ldap.so
3、测试,查看phpinfo信息,如下图所示:
4、php代码测试,具体操作可参考手册:http://php.freehostingguru.com/group.php-25.php
ldap是基于TCP/IP协议的目录访问协议,是Internet上目录服务的通用访问协议。LDAP的出现简化了X.500目录的复杂度,降低了开发成本,是X.500标准的目录访问协议DAP的子集,同时也作为IETF的一个正式标准。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。
注意事项:
1、ldap是php自带的,只需进入到php源码包的ext目录,如果是yum安装的,可下载对应php源码版本再进入ext目录
2、ldap也有图形管理界面,一般用phpldapadmin
1、安装ldap
# cd ext/ldap/
# phpize
# ./configure --with-php-config=/usr/bin/php-config --with-ldap
# make && make install
2、php加载ldap扩展
extension_dir = "/usr/lib64/php/modules/"
extension=ldap.so
3、测试,查看phpinfo信息,如下图所示:
4、php代码测试,具体操作可参考手册:http://php.freehostingguru.com/group.php-25.php
<?php echo '<pre>'; $ldap_host = "ldap://192.168.10.111";//LDAP 服务器地址 $ldap_port = "389";//LDAP 服务器端口号 $ldap_user = "cn=wangping,ou=Practice,dc=baidush,dc=com";//设定服务器用户名 Practice实习 不加提示非法凭证credentials $ldap_pwd = "wangping123";//设定服务器密码 $ldap_user = "cn=Manager,dc=baidush,dc=com";//管理员 $ldap_pwd = "e6666_baidu";//设定服务器密码 $ldap_conn = ldap_connect($ldap_host, $ldap_port) or die("Can't connect to LDAP server");//建立与 LDAP 服务器的连接 $rs=ldap_bind($ldap_conn, $ldap_user, $ldap_pwd) or die("Can't bind to LDAP server.");//与服务器绑定 用户登录验证 成功返回1 $base_dn = "dc=baidush,dc=com";//定义要进行查询的目录主键 //邮箱验证 $filter_col = "mail";//定义用于查询的列 $filter_val = "wangping@baidu.com";//定义用于匹配的值 //用户名认证 $filter_col = "cn";//定义用于查询的列 $filter_val = "Manager";//定义用于匹配的值 $result= ldap_search($ldap_conn, $base_dn, "($filter_col=$filter_val)");//执行查询 $entry= ldap_get_entries($ldap_conn, $result);//获得查询结果 //print_r($entry);exit;//输出查询结果 //修改 ok 必须管理权限 dn即cn=wudahong,ou=Practice,dc=baidush,dc=com需写对 $entry = array("telephonenumber" => "18290907878", "userpassword" => "wangping123");//设定要修改的记录属性 //$rs=ldap_modify($ldap_conn, "cn=wudahong,ou=Practice,dc=baidush,dc=com", $entry) or die("Can't modify entry."); //新增 ok $info=array(); $info["cn"] = "wu"; $info["sn"] = "test2"; $info["givenName"] = "wu"; $info["telephonenumber"] = "18290907878"; $info["userpassword"] = "wutest2";//可不加密码 $info["mail"] = "wutest2@baidu.com"; $info["objectclass"] = "inetOrgPerson";//此处不是inetOrgPerson1 //$info["objectclass"][0] = "inetOrgPerson";//可这样写 只需1个即可 //$info["objectclass"][1] = "posixAccount2";//加上这个ldap_add(): Add: Invalid syntax $rs = ldap_add($ldap_conn, "cn=wutest2,ou=Practice,dc=baidush,dc=com", $info); //删除 ok 如果不存在 ldap_delete(): Delete: No such object $rs = ldap_delete($ldap_conn, "cn=John Jones,ou=Practice,dc=baidush,dc=com"); print_r($rs);exit;//输出查询结果 ldap_unbind($ldap_conn) or die("Can't unbind from LDAP server."); //与服务器断开连接 ldap_close($ldap_conn);//关闭连接
相关文章推荐
- virtualbox下的centos6.8非界面系统安装以及实现虚拟机主机互通以及虚拟机联网
- Linux文件比较,文本文件的交集、差集与求差
- linux的存储管理:硬盘、分区及文件系统
- Linux(Centos7.0)下HelixServer的环境搭建
- linux命令之grep
- linux定时删除文件或文件夹
- centos安装php扩展swoole及使用
- linux Makefile
- linux快速安装rabbitMQ
- Linux快速入门04-扩展知识
- Linux快速修改用户密码
- Linux gcc编译器常用命令和使用
- Linux书籍汇总
- Linux 进程
- linux patch分析
- linux patch分析
- linux patch分析
- linux patch分析
- mac ssh 断开连接
- Linux命令之ls