2009-09-02 11 views
3

私のウェブサイト上の特定のWebページにアクセスできるのは、(教員)グループのユーザーだけです。特定のグループからユーザーを認証するldapアクティブなディレクトリ

このページは教員が見ることができます。

アクティブディレクトリ内では、我々はここで、「教員」

と呼ばれるグループを持っているが、私は、LDAP /アクティブディレクトリを経由してユーザーを認証する必要がありますが、私は教員のグループ内にある唯一のauthenicateユーザーにしたいコードのスニペットです。

$ldap = ldap_connect("ldap.domain.com") 
if($bind = ldap_bind($ldap, $_POST['username'], $_POST['password'])) { 
    // log them in! 
} else { 
    // error message 
} 

答えて

1

AD店グループのメンバーリスト、ユーザーがオンになっていないグループメンバーシップには、CN =教員、OU =、DCは= ACMEは、DCは= comのは、メンバーリストをオブジェクト何を検索し、参照する必要がありますので、このユーザーがリストされている場合そうであれば、試してバインドしてください。成功すれば続行します。

バインドをテストする前に、グループメンバーシップのテストを行います。バインドは通常、クエリよりも高価です。

+0

これはldap_search関数を使用して、指定されたグループのユーザーを検索してtrueを返しますか? – Brad

+1

@geoffc - あなたは本当ですか?私は自分のADスキーマを見ていて、私のユーザーにはメンバーの一部であるmemberOf属性があることがわかります。私はそれがマイクロソフトのアイデンティティか、それが標準的なLDAPの慣行かどうかはわかりません(現時点で把握しようとしています)。 – DougN

+0

正式にスキーマはそれをサポートしていません。それは、ツールがグローバルカタログをチェックしたり、すべてのグループを照会したりすることによって、そのツールをバックグラウンドで偽装すると、そのユーザーのメンバーであることがあります。 おそらく彼らはそれを変更しましたか? – geoffc