【问题标题】:Ldap connect fails in phpphp中的ldap连接失败
【发布时间】:2016-08-29 18:12:15
【问题描述】:

首先,对不起我的英语。

我目前正在安装最新版本的 simplesamlphp(一个未知的工具,直到现在对我来说 + 我是一名 Java 开发人员(不是 php),所以我对 php 的了解有限)。

主要目的是使用 simplesamlphp 将 CAS 与 SAML2 结合使用。

问题是...在 CAS.php 模块文件中,我们调用了“new SimpleSAML_Auth_LDAP(...)”,它应该创建到 ldap 服务器的连接,但它失败并且没有显示错误(只是空白页)。我将错误跟踪到 ../lib/SimpleSAML/Auth/LDAP.php 文件构造函数;尝试连接到 ldap 时失败:

$this->ldap = @ldap_connect($hostname, $port);

有什么想法吗?

【问题讨论】:

  • 您确定为您的 ldap 服务器提供了正确的主机名和端口吗?您可以使用 PHP 手册中的第一个 ldap_connect 示例作为简单的测试脚本。刚刚提供了您的设置,看看您是否可以连接。 php.net/manual/en/function.ldap-connect.php
  • 我确信 100% 的主机名是正确的,并且 90% 的端口也是正确的。我什至尝试安全地连接到 LDAP 服务器,因为它在 Java 应用程序上运行时应该没有错误地运行。我想它可能是别的东西:S
  • 您提供什么作为主机名和端口?
  • 您使用的是基于 SSL 的 LDAP(又名 LDAPS)还是常规 LDAP?如果您使用 LDAPS,请确保您的客户端(PHP 应用程序)信任 LDAP 服务器证书。
  • 我终于让它运行起来了,我只需要重新安装php5-ldap,第一次安装时似乎出了点问题。现在我发现了另一个问题,那就是在验证用户名时: $ldap->validate($this->_ldapConfig, $username);我收到另一个错误:不允许未经身份验证的绑定(DN 没有密码)

标签: php ldap cas saml-2.0 simplesamlphp


【解决方案1】:

我终于设法让它运行了,我只需要重新安装 php5-ldap,第一次安装时似乎出了点问题。现在我对它的实际运作方式有更多疑问,但帖子已解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-01
    • 1970-01-01
    • 2016-06-10
    • 2016-03-19
    相关资源
    最近更新 更多