PHP:通过SSL连接到外部LDAP系统

时间:2013-08-26 20:22:08

标签: php ssl ldap ldapconnection

我需要将我的应用程序连接到外部LDAP系统。我已设法将我的应用程序连接到本地OpenLDAP。但是当我尝试通过SSL连接外部设备时,我遇到了一些麻烦。

我的代码

 public static function ldapConnection($server, $port, $version, $auth_user, 
                     $auth_pass, $base_dn, $search_filter, $attributes=null)
 {
   if(!extension_loaded('ldap'))
   {
     echo "This php version does not seem comptible with LDAP. Please install the 
           php5-ldap module";
     Yii::app()->end();
   }
   if (!($connect = @ldap_connect("ldaps://ldap.unil.ch", 636)))
   {
     echo "Unable to connect to server ".$server."";
     Yii::app()->end();
   }
   if ($version == 3)
   {
     @ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
   }
   if (!(@ldap_bind($connect, $auth_user, $auth_pass)))
   {
     return false;
   }
   ...
   ...
 }

我的问题:

“ldap_bind”函数始终返回 false

我确定用户名,密码和LDAP地址信息(我在LDAP客户端GUI中尝试过)。 apache“ssl_module”已激活。

我知道我必须使用LDAP服务器证书管理一些东西。 我花时间在谷歌上,但我仍然坚持这个问题。

那么,有谁能告诉我如何成功实现这种联系?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,对我来说解决方案是向服务器添加一个端口

$ad = @ldap_connect("ldaps://serverName:636", 636);