Active Directory 与 Wordpress 和 LDAP 集成

问题描述 投票:0回答:2

我正在使用 LDAP 通过 Active Directory 凭据实施 Wordpress 身份验证。为此,我有专门的服务帐户“用户”。使用此服务帐户,我无法获取身份验证所需的完整用户列表。我不确定,但这可能是服务帐户权限的情况。

我可以使用服务帐户连接 AD,但是当我尝试查询用户时,它什么也没有返回。我需要 AD 的完整用户列表

// config
$ldapserver = 'My server';
$ldapport = 389;
$ldapuser      = 'User';  
$ldappass     = 'password';
$ldaptree    = "complete String";
// connect 
$ldapconn = ldap_connect($ldapserver,$ldapport) or die("Could not connect to LDAP server.");if($ldapconn) {
// binding to ldap server
$ldapbind = ldap_bind($ldapconn, $ldapuser, $ldappass) or die ("Error trying to bind: ".ldap_error($ldapconn));
// verify binding
if ($ldapbind) {
    echo "LDAP bind successful...<br /><br />";

    $filter = "(&(&(&(objectCategory=person)(objectClass=user))))";
    $result = ldap_search($ldapconn,$ldaptree, $filter) or die ("Error in search query: ".ldap_error($ldapconn));
    $data = ldap_get_entries($ldapconn, $result);

    // SHOW ALL DATA
    echo '<h1>Dump all data</h1><pre>';
    print_r($data);    
    echo '</pre>';


    // iterate over array and print data for each entry
    echo '<h1>Show me the users</h1>';
    for ($i=0; $i<$data["count"]; $i++) {
        //echo "dn is: ". $data[$i]["dn"] ."<br />";
        echo "User: ". $data[$i]["cn"][0] ."<br />";
        if(isset($data[$i]["mail"][0])) {
            echo "Email: ". $data[$i]["mail"][0] ."<br /><br />";
        } else {
            echo "Email: None<br /><br />";
        }
    }
    // print number of entries found
    echo "Number of entries found: " . ldap_count_entries($ldapconn, $result);
} else {
    echo "LDAP bind failed...";
}}// all done? clean up
ldap_close($ldapconn);
php ldap
2个回答
2
投票

这里是使用 PHP 和活动目录进行身份验证的指南/代码片段。如果由于某种原因您执意要检索所有用户,只需修改过滤器,然后删除 for 循环中的break语句即可。

http://www.exchangecore.com/blog/how-use-ldap-active-directory-authentication-php/


0
投票

好帖子!!!

我目前正在尝试使用我的 Western Digital mycloud ultra ex2 NAS 将 php 身份验证添加到我的活动目录。目前,最好的 wordpress.com php LDAP 到活动目录身份验证插件的成本为 $$$。

mycloud ultra ex2内置了myphpadmin和worpress插件。

我正在尝试将 Active Directory(从我的家庭网络中的多台计算机)连接到 mycloud ultra ex2 NAS,然后连接到我的 wordpress.com 网站。

任何建议,比如上面的帖子,都会很好,并且总是感激

© www.soinside.com 2019 - 2024. All rights reserved.