0

LDAP に対して Active Directory のユーザー ID を認証する際に助けが必要です。私の問題は独特です。ここで説明させてください。この質問を投稿する前に、私はそれをグーグルで検索し、このフォーラムでも検索しましたが、一致する投稿はありませんでした.

これは、Windows 2003 ドメイン コントローラーを使用している場合の問題です。私の会社のポリシーは、以下のようにドメイン内にユーザー ID を作成することです。

First Name = John
Last Name = Wagner
User ID = jwagner@company.com (domain controller is company.com)

Active Directory ユーザーとコンピューターでユーザー プロパティを更新するとき、完全な姓と名を更新する必要があります - John Wagner

ユーザー ID を使用して php で html Web フォームを認証しようとすると、機能しません。ただし、名と姓で認証すると機能します。

//username is given as jwagner in the html form in this case. Authentication Fails.
//username is given as "john wagner" (without the quotes). Authentication Success.

if ((isset($_POST['username'])) && (isset($_POST['password'])))
{
$username=$_POST['username'];
$password=$_POST['password'];

$adServer = "10.23.1.1";
$ldapconn = ldap_connect($adServer)
    or die("Could not connect to LDAP server.");

$ldaprdn = $username;
$ldapbind = ldap_bind($ldapconn, $ldaprdn, $password);

if ($ldapbind)
{
    $_SESSION['username'] = $username;
    $_SESSION['password'] = $password;
    header("Location: http://company.com/website1");
}
else
{
    //if authentication fails, redirect back to the login page
    header("Location: http://company.com/index.php");
}
}

どこが間違っているのかわかりません。ユーザー ID が Active Directory アカウントの姓名と等しくない場合、php を使用して Active Directory アカウントを認証することはできませんか?

事前にアドバイスとご協力をいただきありがとうございます。

よろしく、 ビナイ

4

1 に答える 1

1

次のようにユーザーを入力すると:

ここに画像の説明を入力

あなたは単にテストしていますか:

$ldap_domain = 'company.com';
$ldapbind = ldap_bind($ldapconn, "$ldaprdn@$ldap_domain", $password);
于 2011-10-08T03:33:27.007 に答える