【问题标题】:PHP authenticating with LDAPPHP 使用 LDAP 进行身份验证
【发布时间】:2011-07-23 21:22:03
【问题描述】:

我对 PHP 和 LDAP 还比较陌生,我需要让一个页面只有经过身份验证的用户才能访问。

我得到的只是控制台上的以下命令:

$ ldapsearch -b 'dc=ut,dc=ee' -D 'uid=USER,ou=People,dc=ut,dc=ee' -x -w 'PASSWORD' 'uid=USER' 'description'

到目前为止,我已经使用 ldap_connect 成功连接,并确定它使用的是协议版本 3。我玩过 ldap_search 和 ldap_bind,但所有尝试均不成功。我开始认为这是因为 -x 和 -w 选项。或者可能是因为 LDAP 仍然让我很困惑。

任何提示都将受到深深的赞赏!

【问题讨论】:

    标签: php authentication ldap


    【解决方案1】:
    $username = 'user';
    $password = 'passwd';
    $account_suffix = '@example.com';
    $hostname = 'ldap.example.com';
    
    
    $con =  ldap_connect($hostname);
    if (!is_resource($con)) trigger_error("Unable to connect to $hostname",E_USER_WARNING);
    ldap_set_option($con, LDAP_OPT_PROTOCOL_VERSION, 3);
    ldap_set_option($con, LDAP_OPT_REFERRALS, 0);
    
    if (ldap_bind($con,$username . $account_suffix, $password))
    {
        // Logged in
    }
    ldap_close($con);
    

    要使用安全连接,您可以在此处查看我的帖子:Problems with secure bind to Active Directory using PHP - 我的代码应该在大多数系统上都有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-28
      • 2015-10-03
      • 2014-03-08
      • 2014-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多