PHP 访问 LDAP 程序员文章站 2022-05-23 16:15:01 ... LDAP 的全称是“轻量级目录访问协议(Lightweight Directory Access Protocol)”,是一种简单的目录协议。所谓目录,是一种专门的数据库,可以用来服务于任何应用程序。在企业应用中使用 LDAP可以让企业范围内的所有应用程序LDAP 目录中获取信息,应用程序可以从网络上直接从 LDAP 目录获取信息,而不局限于操作系统与服务器的类型。这里主要介绍如何使用 PHP 来访问 LDAP。连接 LDAP 服务器PHP 中用于连接 LDAP 服务器的函数是 ldap_connect,其语法格式如下所示。 1ldap_connect([string hostname [, int port]]) 其中,hostname 是 LDAP 服务器所在的主机地址,port 是 LDAP 服务器的端口号。以下代码实现了对位于 192.168.3.1 地址的 LDAP 服务器的连接。 1 2$ldap_host= "ldap://192.168.3.1";//LDAP 服务器地址 3$ldap_port= "389";//LDAP 服务器端口号 4$ldap_conn= ldap_connect($ldap_host, $ldap_port) ordie("Can't connect to LDAP server");//建立与 LDAP 服务器的连接 5?> 与前面介绍过的方法类似,上面的代码使用了“or die”来美化错误信息。绑定 LDAP 服务器绑定 LDAP 服务器的含义是使用特定的用户名或密码来登陆 LDAP 服务器。PHP 中用于绑定 LDAP服务器的函数是 ldap_bind,其语法格式如下所示。 1ldap_bind(ldap_conn [, string username [, string password]]) 其中,ldap_conn 是前面连接 LDAP 服务器时创建的连接对象,username 是登陆 LDAP 服务器时使用的用户名,password 是登陆时所用的密码。以下代码实现了对位于 192.168.3.1 地址的 LDAP 服务器的绑定。 1 2$ldap_host= "ldap://192.168.3.1";//LDAP 服务器地址 3$ldap_port= "389";//LDAP 服务器端口号 4$ldap_user= ""; //设定服务器用户名 5$ldap_pwd= ""; //设定服务器密码 6$ldap_conn= ldap_connect($ldap_host, $ldap_port) //建立与 LDAP 服务器的连接 7ordie("Can't connect to LDAP server"); 8ldap_bind($ldap_conn, $ldap_user, $ldap_pwd) ordie("Can't bind to LDAP server.");//与服务器绑定 9?> 断开 LDAP 服务器与 LDAP 服务器断开的过程与绑定 LDAP 服务器相反,PHP 中用于绑定 LDAP 服务器的函数是ldap_unbind,其语法格式如下所示。 1ldap_unbind(ldap_conn) 其中,ldap_conn 是前面连接 LDAP 服务器时创建的连接对象。以下代码在绑定了对位于 192.168.3.1地址的 LDAP 服务器后与其断开连接。 01 02$ldap_host= "ldap://192.168.3.1";//LDAP 服务器地址 03$ldap_port= "389";//LDAP 服务器端口号 04$ldap_user= "";//设定服务器用户名 05$ldap_pwd= "";//设定服务器密码 06$ldap_conn= ldap_connect($ldap_host, $ldap_port) //建立与 LDAP 服务器的连接 07ordie("Can't connect to LDAP server"); 08ldap_bind($ldap_conn, $ldap_user, $ldap_pwd) //与服务器绑定 09ordie("Can't bind to LDAP server."); 10ldap_unbind($ldap_conn) ordie("Can't unbind from LDAP server."); //与服务器断开连接 11?> 查询 LDAP 目录内容查询 LDAP 目录使用 ldap_search 函数来实现,其语法格式如下所示。 1ldap_search(ldap_conn, base_dn, conditions) 其中,ldap_conn 是前面连接 LDAP 服务器时创建的连接对象。base_dn 是 LDAP 服务器的查询主键。conditions 是用于 LDAP 目录查询所用的条件。该函数返回一个结果对象,该结果对象保存查询到的所有记录。对于这个结果对象,可以使用 ldap_get_entries 函数进行简单的读取,其语法格式如下所示。 1ldap_get_entries(ldap_conn, result) 其中,ldap_conn 是前面连接 LDAP 服务器时创建的连接对象,result 是前面查询 LDAP 目录时返回的对象。该函数返回一个数组,包含所有的结果记录。以下代码实现了对服务器上的内容进行查询。 01 02$ldap_host= "ldap://192.168.3.1";//LDAP 服务器地址 03$ldap_port= "389";//LDAP 服务器端口号 04$ldap_user= "";//设定服务器用户名 05$ldap_pwd= "";//设定服务器密码 06$ldap_conn= ldap_connect($ldap_host, $ldap_port) ordie("Can't connect to LDAP server");//建立与 LDAP 服务器的连接 07ldap_bind($ldap_conn, $ldap_user, $ldap_pwd) ordie("Can't bind to LDAP server.");//与服务器绑定 08$base_dn= "ou=company,o=depart";//定义要进行查询的目录主键 09$filter_col= "mail";//定义用于查询的列 10声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。 相关文章 相关视频 详解win10下PHP的安装配置(以php5.6为... php Swoole实现毫秒定时计划任务(详解) 【DTM】PHP协程客户端v0.1 beta版本发... PHP中类的理解和应用[一]_PHP教程 PHP 访问 LDAP .E[attr~="value"]选择器 E[attr^="value"]选择器 E[attr$="value"]选择器 E[attr*="value"]选择器 E[attr|="value"]选择器 网友评论 文明上网理性发言,请遵守 新闻评论服务协议我要评论 立即提交 专题推荐 独孤九贱-php全栈开发教程全栈 170W+ 主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门 玉女心经-web前端开发教程入门 80W+ 主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门 天龙八部-实战开发教程实战 120W+ 主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习 作者信息 认证0级讲师 发布技术文章 最新文章 热门排行 一文详解Windows和Linux环境下怎么安装配置PHP 详解win10下PHP的安装配置(以php5.6为例) 【DTM】PHP协程客户端v0.1 beta版本发布啦! 【吐血整理】28个关于PHP核心技术的面试题,助力跳槽! php Swoole实现毫秒定时计划任务(详解) 用PHP将女友照片转成可爱的动漫头像! PHP 文件操作函数(专题) PHP ARRAY 数组函数(专题) 循环大量数据导致内存超出,不增加内存如何解决该问题 VPN是什么 最全最详细的PHP面试题(带有答案) PHP四大主流框架的优缺点总结 PHP快速搭建一个简单的QQ机器人 API常用签名验证方法(PHP实现) PHP常用日期时间操作合集 Mac电脑设置hosts的方法(图文步骤) 推荐视频教程 javascript初级视频教程 jquery 基础视频教程 视频教程分类 php视频教程 html视频教程 css视频教程 JS视频教程 jQuery视频教程 mysql视频教程 Linux视频教程 Python视频教程 相关标签: LDAP quot conn server connect 上一篇: md5可以解密吗? 下一篇: MySQL能否成下一个Oracle?_MySQL 推荐阅读 用PHP4.2书写安全的脚本_PHP PHP与UML类图:PHPandUMLClassDiagrams_PHP 经典的PHP开发环境所需软件的选择 php的die()函数输出的字符串怎么查看? php的慢速日志引起的Mysql错误问题分析_PHP教程 php数组删除元素的例子 php-fpm进程关闭与重启脚本详解,php-fpm详解_PHP教程 求php远程抓取代码 PHP模板解析类实例,php模板实例 PHP5中Cookie小结(一)
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论