| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

05-08-2010, 16:51
|
|
martin_duisburg
Registrierter Benutzer
|
|
Registriert seit: Sep 2007
Beiträge: 37
|
|
LDAP Problem
Hallo Leute
auch nach umfangreicher Suche konnte ich das Problem nicht lösen
ich hab eine ldap connection auf ein Active Directorie
PHP-Code:
// Verbindung zu LDAP
$ldapconn = ldap_connect( $ldaphost, $ldapport )
or die( "Keine Verbindung zu {$ldaphost} möglich" );
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);
$ldapbind = ldap_bind($ldapconn,'cn=dvintranet,OU=Dienste,OU=Benutzer,OU=Administration,DC=meine firma,DC=lan','password')
or die( "!Keine Verbindung zu {$ldaphost} möglich" );
$dn = "OU=Global,OU=Gruppen,OU=Administration,DC=meine Firma,DC=lan";
$filter='(&(objectclass=group) (name=EDV*)(member=*))';
$justthese = array("name","member");
$sr=ldap_search($ldapconn, $dn, $filter, $justthese) or die(ldap_error());
$info = ldap_get_entries($ldapconn, $sr);
print $info["count"]." gefundene Einträge<p>";
foreach($info as $line)
{
echo $line['name'][0]."<br>";
}
gibt eine korrekte Ausgabe
PHP-Code:
....
0 => string 'CN=Nachname\, Vorname,OU=EDV,OU=Abteilungen,OU=Benutzer,OU=Administration,DC=meine firma,DC=lan' (length=86)
ändere ich diese Zeile
PHP-Code:
$filter='(&(objectclass=group) (name=EDV*)(member=CN=*))';
bekomme ich keine Ausgabe mehr
PHP-Code:
0 gefundene Einträge
array
'count' => int 0
einer von euch eine Idee wie ich den Filter anpassen sollte?
Danke
__________________
ad astra
--- bin nun mal Perry Rhodan Fan ---
Geändert von martin_duisburg (05-08-2010 um 16:57 Uhr)
|

05-08-2010, 16:56
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Wo du genaueres zu diesen Filtern nachlesen kannst, steht im Manual.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

05-08-2010, 16:59
|
|
martin_duisburg
Registrierter Benutzer
|
|
Registriert seit: Sep 2007
Beiträge: 37
|
|
@Wahsaga
wenn mir das helfen würde
würde ich hier nicht fragen :-)
du kannst sicher sein das ich nicht fragen würde wenn ich nicht schon eine Weile suchen würde.
__________________
ad astra
--- bin nun mal Perry Rhodan Fan ---
|

05-08-2010, 17:02
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Na dann solltest du vielleicht wenigstens mal beschreiben, nach was du eigentlich filtern willst.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

05-08-2010, 17:39
|
|
martin_duisburg
Registrierter Benutzer
|
|
Registriert seit: Sep 2007
Beiträge: 37
|
|
nach member
PHP-Code:
$filter='(&(objectclass=group) (name=EDV*)(member=CN*))';
ich filter nach der Gruppe EDV
PHP-Code:
$filter='(&(objectclass=group) (name=EDV*))';
das Ergebnis sieht dann so aus
PHP-Code:
0 => array 'member' => array 'count' => int 8 0 => string 'CN=Name\, Vorname,OU=EDV,OU=Abteilungen,OU=Benutzer,OU=Administration,DC=meine Firma,DC=lan' (length=87) 1 => string 'CN=name\, Vorname,OU=EDV,OU=Abteilungen,OU=Benutzer,OU=Administration,DC=meine Firma,DC=lan' (length=90) .... 0 => string 'member' (length=6) 'name' => array 'count' => int 1 0 => string 'EDV_System' (length=10) 1 => string 'name' (length=4) 'count' => int 2 'dn' => string 'CN=EDV_System,OU=Global,OU=Gruppen,OU=Administration,DC=meine firma,DC=lan' (length=71) ....
erweiter ich den Filter
PHP-Code:
$filter='(&(objectclass=group) (name=EDV*)(member=*))';
bekomme ich das selbe Ergebnis
aber ab hier steigt er aus!
PHP-Code:
$filter='(&(objectclass=group) (name=EDV*)(member=CN*))';
__________________
ad astra
--- bin nun mal Perry Rhodan Fan ---
Geändert von martin_duisburg (05-08-2010 um 17:50 Uhr)
|

05-08-2010, 17:46
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Könnte es sein, dass das zweifach auftauchende Gleichheitszeichen problematisch ist?
Dass das zweite davon, das ja gesuchten Inhalt und nicht Vergleichsoperator darstellen soll, irgendwie maskiert werden muss?
Edit: Ach so, das hast du jetzt schon weggelassen - ursprünglich war's mal drin.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Geändert von wahsaga (05-08-2010 um 17:48 Uhr)
|

05-08-2010, 17:49
|
|
martin_duisburg
Registrierter Benutzer
|
|
Registriert seit: Sep 2007
Beiträge: 37
|
|
den verdacht hatte ich auch schon
habs schon mit
PHP-Code:
$filter='(&(objectclass=group) (name=EDV*)(member=CN\=*))';
bzw
PHP-Code:
$filter='(&(objectclass=group) (name=EDV*)(member=CN\\=*))';
probiert
das führt nur zur
PHP-Code:
Warning: ldap_search() [function.ldap-search]: Search: Bad search filter
bin leider inzwischen echt ratlos....
__________________
ad astra
--- bin nun mal Perry Rhodan Fan ---
|

10-08-2010, 16:57
|
|
martin_duisburg
Registrierter Benutzer
|
|
Registriert seit: Sep 2007
Beiträge: 37
|
|
Problem gelöst:
wie schon vermutet ist das Quoting das Problem,
wenn ich einen Sting durchsuche dann möchte er
PHP-Code:
$string="CN=vorname\ nachname......
so
PHP-Code:
$string="CN=vorname\\5C nachname....
haben....
__________________
ad astra
--- bin nun mal Perry Rhodan Fan ---
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|