0

ApacheサーバーにPHPスクリプトがあり、それを実行しようとするたびに、次のように表示されます。

unable to bind to the AD

しかし、それはうまく接続します。私はそれをApacheサーバーから取り外し、自分のマシンからローカルで実行しましたが、うまくバインドできました。apacheの設定に問題があると思います。

adLDAP APIを使用しています。これは、実行しようとしている次のスクリプトです。これは基本的に、正常にバインドできるかどうかを確認し、入力された資格情報がActiveDirectoryにあるかどうかを確認するためのテストです。

$username = $_POST["username"];
$password = $_POST["password"];
$formage =  $_POST["formage"];

if ($_POST["oldform"]) { //prevent null bind

    if ($username != NULL && $password != NULL){
        //include the class and create a connection
        include (dirname(__FILE__) . "/../src/adLDAP.php");
        try {
            $adldap = new adLDAP();
        }
        catch (adLDAPException $e) {
            echo $e;
            exit();
        }

        //authenticate the user
        if ($adldap->authenticate($username, $password)){
            //establish your session and redirect
            session_start();
            $_SESSION["username"] = $username;
            $_SESSION["userinfo"] = $adldap->user()->info($username);
            $redir = "Location: https://" . $_SERVER['HTTP_HOST'] .
                dirname($_SERVER['PHP_SELF']) . "/menu.php";
            header($redir);
            exit;
        }
    }
    $failed = 1;
}

このエラーが発生するのはなぜunable to bind to the ADですか?

4

1 に答える 1

0

私はその問題を理解しました。

どうやらSELinuxは私が接続する必要のあるポートをブロックしていたので、私は基本的にSELinuxにそのポートに接続しても大丈夫だと伝えました。今ではすべてが魅力のように機能します。Apacheにポートへのアクセスを許可した方法は次のとおりです。

grep httpd /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp
于 2012-09-06T17:36:56.833 に答える