PHP 访问 LDAP
php中文网
发布时间:2016-07-30 13:31:42
|
1148人浏览过
|
来源于php中文网
原创
LDAP 的全称是“轻量级目录访问协议(Lightweight Directory Access Protocol)”,是一种简单的目录协议。所谓目录,是一种专门的数据库,可以用来服务于任何应用程序。在企业应用中使用 LDAP可以让企业范围内的所有应用程序LDAP 目录中获取信息,应用程序可以从网络上直接从 LDAP 目录获取信息,而不局限于操作系统与服务器的类型。这里主要介绍如何使用 PHP 来访问 LDAP。连接 LDAP 服务器PHP 中用于连接 LDAP 服务器的函数是 ldap_connect,其语法格式如下所示。
立即学习“PHP免费学习笔记(深入)”;
立即学习“PHP免费学习笔记(深入)”;
1ldap_connect([string
hostname [, int port]])
其中,hostname 是 LDAP 服务器所在的主机地址,port 是 LDAP 服务器的端口号。以下代码实现了对位于 192.168.3.1 地址的 LDAP 服务器的连接。
立即学习“PHP免费学习笔记(深入)”;
立即学习“PHP免费学习笔记(深入)”;
立即学习“PHP免费学习笔记(深入)”;
2$ldap_host= "ldap://192.168.3.1";//LDAP
服务器地址
立即学习“PHP免费学习笔记(深入)”;
3$ldap_port= "389";//LDAP
服务器端口号
立即学习“PHP免费学习笔记(深入)”;
4$ldap_conn= ldap_connect($ldap_host,
$ldap_port)
ordie("Can't
connect to LDAP server");//建立与
LDAP 服务器的连接
立即学习“PHP免费学习笔记(深入)”;
与前面介绍过的方法类似,上面的代码使用了“or die”来美化错误信息。绑定 LDAP 服务器绑定 LDAP 服务器的含义是使用特定的用户名或密码来登陆 LDAP 服务器。PHP 中用于绑定 LDAP服务器的函数是 ldap_bind,其语法格式如下所示。
立即学习“PHP免费学习笔记(深入)”;
立即学习“PHP免费学习笔记(深入)”;
1ldap_bind(ldap_conn
[, string username [, string password]])
其中,ldap_conn 是前面连接 LDAP 服务器时创建的连接对象,username 是登陆 LDAP 服务器时使用的用户名,password 是登陆时所用的密码。以下代码实现了对位于 192.168.3.1 地址的 LDAP 服务器的绑定。
立即学习“PHP免费学习笔记(深入)”;
立即学习“PHP免费学习笔记(深入)”;
立即学习“PHP免费学习笔记(深入)”;
2$ldap_host= "ldap://192.168.3.1";//LDAP
服务器地址
立即学习“PHP免费学习笔记(深入)”;
3$ldap_port= "389";//LDAP
服务器端口号
立即学习“PHP免费学习笔记(深入)”;
4$ldap_user= "";
//设定服务器用户名
立即学习“PHP免费学习笔记(深入)”;
5$ldap_pwd= "";
//设定服务器密码
立即学习“PHP免费学习笔记(深入)”;
6$ldap_conn= ldap_connect($ldap_host,
$ldap_port)
//建立与
LDAP 服务器的连接
立即学习“PHP免费学习笔记(深入)”;
7ordie("Can't
connect to LDAP server");
立即学习“PHP免费学习笔记(深入)”;
8ldap_bind($ldap_conn,
$ldap_user,
$ldap_pwd)
ordie("Can't
bind to LDAP server.");//与服务器绑定
立即学习“PHP免费学习笔记(深入)”;
断开 LDAP 服务器与 LDAP 服务器断开的过程与绑定 LDAP 服务器相反,PHP 中用于绑定 LDAP 服务器的函数是ldap_unbind,其语法格式如下所示。
立即学习“PHP免费学习笔记(深入)”;
立即学习“PHP免费学习笔记(深入)”;
其中,ldap_conn 是前面连接 LDAP 服务器时创建的连接对象。以下代码在绑定了对位于 192.168.3.1地址的 LDAP 服务器后与其断开连接。
立即学习“PHP免费学习笔记(深入)”;
立即学习“PHP免费学习笔记(深入)”;
立即学习“PHP免费学习笔记(深入)”;
02$ldap_host= "ldap://192.168.3.1";//LDAP
服务器地址
立即学习“PHP免费学习笔记(深入)”;
03$ldap_port= "389";//LDAP
服务器端口号
立即学习“PHP免费学习笔记(深入)”;
04$ldap_user= "";//设定服务器用户名
立即学习“PHP免费学习笔记(深入)”;
05$ldap_pwd= "";//设定服务器密码
立即学习“PHP免费学习笔记(深入)”;
06$ldap_conn= ldap_connect($ldap_host,
$ldap_port)
//建立与
LDAP 服务器的连接
立即学习“PHP免费学习笔记(深入)”;
07ordie("Can't
connect to LDAP server");
立即学习“PHP免费学习笔记(深入)”;
08ldap_bind($ldap_conn,
$ldap_user,
$ldap_pwd)
//与服务器绑定
立即学习“PHP免费学习笔记(深入)”;
09ordie("Can't
bind to LDAP server.");
立即学习“PHP免费学习笔记(深入)”;
10ldap_unbind($ldap_conn)
ordie("Can't
unbind from LDAP server.");
//与服务器断开连接
立即学习“PHP免费学习笔记(深入)”;
查询 LDAP 目录内容查询 LDAP 目录使用 ldap_search 函数来实现,其语法格式如下所示。
立即学习“PHP免费学习笔记(深入)”;
立即学习“PHP免费学习笔记(深入)”;
1ldap_search(ldap_conn,
base_dn, conditions)
其中,ldap_conn 是前面连接 LDAP 服务器时创建的连接对象。base_dn 是 LDAP 服务器的查询主键。conditions 是用于 LDAP 目录查询所用的条件。该函数返回一个结果对象,该结果对象保存查询到的所有记录。对于这个结果对象,可以使用 ldap_get_entries 函数进行简单的读取,其语法格式如下所示。
立即学习“PHP免费学习笔记(深入)”;
立即学习“PHP免费学习笔记(深入)”;
1ldap_get_entries(ldap_conn,
result)
其中,ldap_conn 是前面连接 LDAP 服务器时创建的连接对象,result 是前面查询 LDAP 目录时返回的对象。该函数返回一个数组,包含所有的结果记录。以下代码实现了对服务器上的内容进行查询。
立即学习“PHP免费学习笔记(深入)”;
立即学习“PHP免费学习笔记(深入)”;
立即学习“PHP免费学习笔记(深入)”;
02$ldap_host= "ldap://192.168.3.1";//LDAP
服务器地址
立即学习“PHP免费学习笔记(深入)”;
03$ldap_port= "389";//LDAP
服务器端口号
立即学习“PHP免费学习笔记(深入)”;
04$ldap_user= "";//设定服务器用户名
立即学习“PHP免费学习笔记(深入)”;
05$ldap_pwd= "";//设定服务器密码
立即学习“PHP免费学习笔记(深入)”;
06$ldap_conn= ldap_connect($ldap_host,
$ldap_port)
ordie("Can't
connect to LDAP server");//建立与
LDAP 服务器的连接
立即学习“PHP免费学习笔记(深入)”;
07ldap_bind($ldap_conn,
$ldap_user,
$ldap_pwd)
ordie("Can't
bind to LDAP server.");//与服务器绑定
立即学习“PHP免费学习笔记(深入)”;
08$base_dn= "ou=company,o=depart";//定义要进行查询的目录主键
立即学习“PHP免费学习笔记(深入)”;
09$filter_col= "mail";//定义用于查询的列
立即学习“PHP免费学习笔记(深入)”;
PHP速学教程(入门到精通)
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
下载
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
文心一言
文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。
讯飞写作
基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿
即梦AI
一站式AI创作平台,免费AI图片和视频生成。
ChatGPT
最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。