0

ユーザー資格情報を認証するために LDAP サーバーに接続しようとしています。

この同じ問題を抱えているユーザーを何人か見つけましたが、彼らの解決策はうまくいきませんでした。

ここに私が使用しているものがあります:

<?php
define('LDAP_SERVER', 'LDAP://pdc.mydomain.com');
define('LDAP_PORT', 389);
define('LDAP_TOP', 'dc=mydomain,dc=com');
if(isset($_POST['username']))
{
    if(!($ds = ldap_connect(LDAP_SERVER, LDAP_PORT)))
    {
        die ("Could not connect to mydomain domain");
    }
    $un = $_POST['username'].",".LDAP_TOP;
    //echo stripslashes($un)."<br>";
    $ldapbind = ldap_bind($ds, stripslashes($un), $_POST['password']);
    if($ldapbind)
        echo "login success";
    else
        echo "login failed";
}
?>

「mydomain\myusername」と「myusername」のみを使用してみました。

どちらもそれをテストするために機能しなかったときに、stripslashes() 関数を追加しましたが、まだサイコロはありません。

毎回発生するエラーは次のとおりです: 警告: ldap_bind(): サーバーにバインドできません: 資格情報が無効です

どんな助けでも大歓迎です

ティア

4

3 に答える 3

0

ログインとパスが正しいかどうかを確認します。ログイン前にドメインを追加します。下の例を参照してください (HQ\login):

<?php
$login = 'HQ\student';
$password = 'MYPASS';

$ldap_link = ldap_connect('pdc.bc) or die("Could not connect to LDAP server.");

$ldapbind = @ldap_bind($ldap_link, $login, $password) or die ("Error trying to bind: ".ldap_error($ldap_link));
?>
于 2015-11-18T08:21:14.227 に答える