加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

使用PHP进行LDAP身份验证

发布时间:2020-12-13 16:18:04 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试使用 PHP进行LDAP身份验证. 以下是我的代码: ?php$ldaphost = 'ldap://ldapServer';$ldapport = 389;$ds = ldap_connect($ldaphost,$ldapport)or die("Could not connect to $ldaphost"); ldap_set_option($ldapconn,LDAP_OPT_PROTOCOL_VERSION,3
我正在尝试使用 PHP进行LDAP身份验证.
以下是我的代码:

<?php

$ldaphost = 'ldap://ldapServer';
$ldapport = 389;

$ds = ldap_connect($ldaphost,$ldapport)
or die("Could not connect to $ldaphost");
    ldap_set_option($ldapconn,LDAP_OPT_PROTOCOL_VERSION,3);
    ldap_set_option($ldapconn,LDAP_OPT_REFERRALS,0);
//ldap_set_option($ds,LDAP_OPT_DEBUG_LEVEL,7);
if ($ds) 
{
    $username = "testuser@domain.com";
    $upasswd = "testpass";

    $ldapbind = ldap_bind($ds,$username,$upasswd);


    if ($ldapbind) 
        {print "Congratulations! $username is authenticated.";}
    else 
        {print "Access Denied!";}


}
?>

但它引发了以下错误:

PHP Warning: ldap_bind(): Unable to bind to server: Can’t contact LDAP server

任何想法,我怎么能解决它?

注意:当我在某个论坛上遇到这个术语时,我们是否需要ldap.config文件.我的机器上没有看到任何这样的文件.我在ext文件夹中使用php_ldap.dll并使用Windows.

解决方法

绑定时,不绑定用户名,而是绑定到 DN.

您的$username变量应如下所示:

$username = 'uid=testuser,ou=People,dc=domain,dc=com';

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读