首页 > 解决方案 > 显示 PHP 选择连接的 LDAP 服务器

问题描述

PHP 的ldap_connect功能允许您“提供多个以空格分隔的 LDAP-URI 作为一个字符串”。有什么方法可以告诉您在执行操作时选择了哪个服务器ldap_bind

作为一个简化的例子,如果这是我的设置:

$servers = 'ldaps://ad1.mydomain.com ldaps://ad2.mydomain.com ldaps://ad3.mydomain.com";
$ldap_conn = ldap_connect($servers) or die("Could not connect to LDAP server.");

ldap_conn由于只返回真/假,我如何判断选择了三个服务器中的哪一个?

我不想在这个问题中查看哪些服务器在线,只是选择了哪一个。

标签: phpldap

解决方案


如果没有一点额外的代码,可能看不到信息,但您可以查询每个服务器以确定它是否存在。

如果您有连接,您应该根据 LDAP 服务器实现在 rootDSE 中查询dsaName

通常支持 dsaName,但结构可能因供应商而异。我知道 Microsoft Active Directory 和目录以及大多数 LDAP 服务器供应商都支持它,

前面提到的“找出负载平衡的域控制器 LDAP 试图连接到什么?”


推荐阅读