php连接ldap服务器,使用PHP连接LDAP服务器[通俗易懂]

php连接ldap服务器,使用PHP连接LDAP服务器[通俗易懂]LDAP是一个用来发布目录信息到许多不同资源的协议。通常它都作为一个集中的地址本使用。LDAP最基本的形式是一个连接数据库的标准方式。该数据库为读查询作了优化。因此它可以很快地得到查询结果,不过在其它方面,例如更新,就慢得多。要特别注意的是,LDAP通常作为一个hierarchal数据库使用,而不是一个关系数据库。因此,它的结构用树来表示比用表格好。正因为这样,就不能用SQL语句了。简单说来,LD…

大家好,又见面了,我是你们的朋友全栈君。

LDAP是一个用来发布目录信息到许多不同资源的协议。通常它都作为一个集中的地址本使用。LDAP最基本的形式是一个连接数据库的标准方式。该数据库为读查询作了优化。因此它可以很快地得到查询结果,不过在其它方面,例如更新,就慢得多。要特别注意的是,LDAP通常作为一个hierarchal数据库使用,而不是一个关系数据库。因此,它的结构用树来表示比用表格好。正因为这样,就不能用SQL语句了。

简单说来,LDAP是一个得到关于人或者资源的集中、静态数据的快速方式。

我们来做这样几件事:

设置公共LDAP服务器的信息;创建一个LDAP查询;连接到LDAP服务器;如果连接成功,处理查询;格式化输出;关闭连接;设计搜索界面的HTML表格并显示结果。

设置公共LDAP服务器的信息:

我们要做的第一件事情是定义所有欲搜索的LDAP服务器的信息:

“LDAP_NAME” = 新的LDAP项目的名字

“LDAP_SERVER” = 新的LDAP项目的IP地址或者主机名

“LDAP_ROOT_DN” = 新的LDAP项目的根的辨识名

$LDAP_NAME[0] = “Netscape Net Center”;

$LDAP_SERVER[0] = “memberdir.netscape.com”;

$LDAP_ROOT_DN[0] = “ou=member_directory,o=netcenter.com”;

$LDAP_NAME[1] = “Bigfoot”;

$LDAP_SERVER[1] = “ldap.bigfoot.com”;

$LDAP_ROOT_DN[1] = “”;

//如果没有选择服务器的话将它设置为0

if(!$SERVER_ID)

$SERVER_ID=0;

?>

建立LDAP查询:

前面已经提到,LDAP查询与SQL查询是不一样的。因此,语句要受到一定的限制,以下是一个基本的例子。

//Create Query $ldap_query = “cn=$common”;

在我们的例子中,“cn”是我们要进行搜索的属性,而$common是由搜索的form中得到的字符串变量。LDAP的查询语句语句可使用通配符‘*’。例如‘$stanley’将可以找出‘dan stanley’。

连接到LDAP服务器:

以下的函数连接到一个LDAP资源,并且将连接的识别号赋给一个变量,就好象连接到一个通常的数据库一样,例如MySQL。

//连接到LDAP

$connect_id = ldap_connect($LDAP_SERVER[$SERVER_ID]);

?>

在我们的例子中,“$connect_id”是连接的识别号,$LDAP_SERVER是可能的ldap服务器数组,

而$SERVER_ID是由搜索表格得到的LDAP服务器变量。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146505.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux下U盘文件系统类型的识别以及挂载

    手上有装好文件系统的CF一只,插上卡套,类比于U盘。1.先进入/mnt/目录新建一个usb目录cd/mnt/mkidrusb2.fdisk-l,然后插上U盘,fdisk-l查看是否有新的硬盘添加上来了?这时候我若是挂载是不知道sdb的文件类型的,也不清楚该挂载sdbx几。不需挂载就能查看的命令:

    2022年4月14日
    49
  • Oscium双频带频谱分析仪「建议收藏」

    Oscium双频带频谱分析仪「建议收藏」新一代Wipry5X为频谱分析仪WipryCombo的升级版本,主要针对2.4&5GHz两个频段的wifi信号进行测试,同时兼容苹果iOS和Android双系统;具有双带频谱分析功能,智能的触摸屏操作,简便快捷,口袋型轻巧的设计,对数据记录分析,随时发送E-mail功能,让你的测试测量变得随时随地,不再受时间、空间、地理位置的影响。WiPry5X性能指标

    2022年8月11日
    9
  • 怎么画等距线_十字线画法

    怎么画等距线_十字线画法 等距线的画法本文作者徐庆荣(武汉大学) 等距线画法可分为栅格(光栅)方式和矢量方式二种。栅格方式一般采用“距离变换”等算子实现,算法简练,但在不同方向上的等距线可能不严格等距。矢量方式是按几何关系通过坐标计算获得等距线位置,算法复杂,但精度高。本文介绍的是矢量方式的等距线画法。1.      概述简言之,等距线是指与已知线条(折线或曲线)等距的线条。等距线的应用甚广,例如

    2025年11月19日
    6
  • EL表达式

    EL表达式EL表达式

    2022年4月25日
    54
  • xshell安装步骤_Xshell怎么使用

    xshell安装步骤_Xshell怎么使用XShell可以在Windows界面下来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。它支持RLOGIN、SFTP、SERIAL、TELNET、SSH2和SSH1,可以非常方便的对Linux主机进行远程管理。除此之外,其还有丰富的外观配色方案以及样式选择。Xshell免费版官网下载地址https//www.xshell.com/zh/free-for-home-school/链接https//pan.baidu.com/s/1NJGWZHkByakOkQpKfkc7Yg。…

    2025年9月5日
    43
  • SpringBoot面试题及答案140道(2021年最新)

    SpringBoot面试题及答案140道(2021年最新)工作5年,处于找工作中ing。今年10月份刚刚整理出来的SpringBoot面试题,时间比较赶就没有按照模块分类排序了。总而言之,顺序比较乱,希望大家耐着性子看。如果实在介意,评论告知,我会视情况作修改的。另外如果大家觉得我找的SpringBoot面试题答案不够清晰,欢迎私信或者评论只出,我看到都会去修改的!1、SpringBoot有哪些优点?SpringBoot的优点有:1、减少开发,测试时间和努力。2、使用JavaConfig有助于避免使用XML。3、避免大量的Maven…

    2022年6月7日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号