私は、このユーザーがここで行っていたことと非常によく似た何かを達成しようとしています。
私は答えに従いましたが、それを機能させることができませんでした。Active Directory内では、memberOfフィールドは次のようになります。
CN=$VPN Users,CN=Users,DC=iai,DC=pri,CN=$ITAR,CN=Users,DC=iai,DC=pri,CN=allsubscribers,CN=Users,DC=iai,DC=pri
動作する私のフィルターは次のとおりです。
(&(objectCategory=person)(sAMAccountName=$p_username))
私は以下を機能させようとしています:
(&(objectCategory=person)(sAMAccountName=$p_username)(memberOf=CN=$ITAR))
CN = Users、DC = iai、DC = priである完全なDNもフィルターに追加しようとしましたが、次のようになります。
array(1) { ["count"]=> int(0) }
私の応答として。
LDAP3を使用しています
これは、phpで記述された部分的な動作認証コードです。
$login = ldap_bind( $url, "username@somedomain", $password );
$attributes = array("displayname", "mailnickname");
$filter = "(&(objectCategory=person)(sAMAccountName=$username))";
$result = ldap_search($url, "CN=Users,DC=iai,DC=pri", $filter, $attributes);
$entries = ldap_get_entries($url, $result);
私は何が間違っているのですか?
コード結果
@DaveRandomから最初のVarダンプ:
string(49) "(&(objectCategory=person)(sAMAccountName=rmoser))"
array(2) {
["count"] => int(1)
[0] => array(8) {
["displayname"] => array(2) {
["count"] => int(1)
[0] => string(10) "Ryan Moser"
}
[0] => string(11) "displayname"
["memberof"] => array(4) {
["count"] => int(3)
[0] => string(36) "CN=$VPN Users,CN=Users,DC=iai,DC=pri"
[1] => string(31) "CN=$ITAR,CN=Users,DC=iai,DC=pri"
[2] => string(40) "CN=allsubscribers,CN=Users,DC=iai,DC=pri"
}
[1]=> string(8) "memberof"
["mailnickname"] => array(2) {
["count"] => int(1)
[0] => string(6) "rmoser"
}
[2] => string(12) "mailnickname"
["count"] => int(3)
["dn"] => string(36) "CN=Ryan Moser,CN=Users,DC=iai,DC=pri"
}
}
bool(false)
2番目のvar_dump:
string(70) "(&(objectCategory=person)(sAMAccountName=rmoser)(memberof=*CN=$ITAR*))"
array(1) {
["count"] => int(0)
}