Как проверить, доступен ли сервер Active Directory для веб-сервера Ubuntu / Apache / PHP? - PullRequest
0 голосов
/ 11 июня 2019

Как я могу проверить, находится ли мой веб-сервер с Ubuntu / Apache / PHP внутри директории Windows?

У меня включены php-ldap и openssl php-расширения, но я по-прежнему не могу войти в систему с помощью ldap.

привязка ldap возвращает false.

Код тот же, который работает на моей локальной машине.

Существует некоторая сетевая командная строка, которую я могу использовать из ubuntu, чтобы проверить ее?

Или даже функция php вместо ldap_connect и ldap_bind?

Заранее благодарны

РЕДАКТИРОВАТЬ:

этоэто код, который я использую для проверки соединения, которое работает на моем локальном компьютере, а не на веб-сервере:

<?php
        $useremail      = 'myuser'; 
        $data['password'] = 'mypassword';
        $adServer = "ldap://my.veryowndomain.com";

        $ldap = ldap_connect($adServer);
        var_dump($useremail);

        $ldaprdn = 'myveryowndomain' . "\\" . $useremail;

        ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
        ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);

        $bind = @ldap_bind($ldap, $ldaprdn, $data['password']);
        var_dump($bind);

        echo "1 ldap_error: " . var_dump(ldap_error($conn))."<hr>";
        ldap_get_option($conn, LDAP_OPT_DIAGNOSTIC_MESSAGE, $err);
        echo "2 ldap_get_option: ". $err."<hr>";

        echo  ' >> 3 '. var_dump( ldap_errno() )."<hr>";
        echo  ' >> 4 '.var_dump( ldap_err2str( ldap_errno() ) )."<hr>";

        if ($bind) {

            $filter="(sAMAccountName=" . $useremail . ")";
            $result = ldap_search($ldap,"DC=myveryowndomain,DC=com,DC=br",$filter);

            echo '<hr> 5 result'."<hr>";
            var_dump($result);

            ldap_sort($ldap,$result,"sn");
            $info = ldap_get_entries($ldap, $result);

            echo '<hr> 6 result'."<hr>";
            var_dump($info);

            if ( $info['count'] >= 1 ) {
                $success = true;
                $usernome        = $info[0]['cn'][0];
                $usernetworkUser = $info[0]['samaccountname'][0];
                $useremail       = $info[0]['mail'][0];
                $userimage       = base64_encode($info[0]['thumbnailphoto'][0]);
                echo ($ret);
            } else {

                $success = false;
                echo '7 not authorized'."<hr>";
            }
        } else {
            echo  ' >> 8 '. var_dump( ldap_errno() )."<hr>";
            echo  ' >> 9 '.var_dump( ldap_err2str( ldap_errno() ) )."<hr>";
            $success = false;
            echo '10 Fail to connect to'."<hr>";            
        }

        if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
            echo "Using LDAPv3<br>";
        } else {
            echo "Failed to set protocol version to 3";
        }

        @ldap_close($ldap);
...