F
Fenko
Mitglied
hi, ich habe ein Problem mit der funktion ldap_add, ich erklär am besten kurz worums geht....also ich hab auf meinem server openldap installiert und möchte jetzt eine Benutzeroberfläche in PHP programmieren, womit ich neue Benutzer zum Ldap hinzufügen , Benutzer bearbeiten und benutzer löschen kann.
Die Anmeldung am Ldap übers PHP klappt auch einwandfrei, jedoch wenn ich dann den benutzer mit der funktion ldap_add hinzufügen will kommt folgende meldung:
so sieht mein befehl aus
die folgenden einträge sind alle wichtigen die benötigt werden für den user
die $udn sieht so aus:
meine objectklassen sehen so aus:
ich hab schon einiges ausprobiert aber ich komme irgendwie nicht auf die lösung, kann mir da vllt jemand weiterhelfen?
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
ich hab den fehler schon gefunden....das problem lag ganz einfach an der variable $udn wo der pfad des neuen users erstellt wird. da hatte ich ganz einfach den falschen benutzernamen für die uid übergeben das wars.
naja jetzt muss ich noch zusehen das ich für jeden user ne neue uidNumber erstellen kann, auch wenn ich jetzt grad noch net genau weis wie ich dat anstellen soll^^
Die Anmeldung am Ldap übers PHP klappt auch einwandfrei, jedoch wenn ich dann den benutzer mit der funktion ldap_add hinzufügen will kommt folgende meldung:
Warning: ldap_add() [function.ldap-add]: Add: Invalid syntax in ldap_func_inc.php on line 127
so sieht mein befehl aus
ldap_add($ldapconn, $udn, $ldappadd);
die folgenden einträge sind alle wichtigen die benötigt werden für den user
$ldappadd['cn'] = $_POST['loginname'];
$ldappadd['displayName'] = $_POST['loginname'];
$ldappadd['gidNumber'] = 65534;
$ldappadd['givenName'] = $_POST['vorname'];
$ldappadd['homeDirectory'] = "/home";
$ldappadd['initials'] = $_POST['initialien'];
$ldappadd['objectClass'][0] = "posixAccount";
$ldappadd['objectClass'][1] = "top";
$ldappadd['objectClass'][2] = "inetOrgPerson";
$ldappadd['objectClass'][3] = "shadowAccount";
$ldappadd['shadowExpire'] = 99999;
$ldappadd['shadowFlag'] = 0;
$ldappadd['shadowInactive'] = 99999;
$ldappadd['shadowLastChange'] = 12011;
$ldappadd['shadowMin'] = 0;
$ldappadd['shadowWarning'] = 0;
$ldappadd['sn'] = $_POST['nachname'];
$ldappadd['uid'] = $_POST['loginname'];
$ldappadd['uidNumber'] = 1212;
$ldappadd['userPassword'] ="{CRYPT}".crypt($_POST['password']);
die $udn sieht so aus:
uid=<loginname>,cn=abteilung,cn=fachbereich,cn=firmierung,cn=land,dc=
firma,dc=de
meine objectklassen sehen so aus:
objectclass ( 1.3.6.1.4.1.42.2.27.4.2.10
NAME 'Container'
DESC 'Container for a object'
SUP top
STRUCTURAL
MUST cn )
objectclass ( 2.16.840.1.113730.3.2.2
NAME 'inetOrgPerson'
DESC 'RFC2798: Internet Organizational Person'
SUP organizationalPerson
STRUCTURAL
MAY (
displayName $ givenName $
initials $ jpegPhoto $
mail $ o $ uid
)
)
objectclass ( 1.3.6.1.1.1.2.0 NAME 'posixAccount'
DESC 'Abstraction of an account with POSIX attributes'
SUP top AUXILIARY
MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory )
MAY ( userPassword $ description ) )
objectclass ( 1.3.6.1.1.1.2.1 NAME 'shadowAccount'
DESC 'Additional attributes for shadow passwords'
SUP top AUXILIARY
MUST uid
MAY ( userPassword $ shadowLastChange $ shadowMin $
shadowMax $ shadowWarning $ shadowInactive $
shadowExpire $ shadowFlag $ description ) )
ich hab schon einiges ausprobiert aber ich komme irgendwie nicht auf die lösung, kann mir da vllt jemand weiterhelfen?
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
ich hab den fehler schon gefunden....das problem lag ganz einfach an der variable $udn wo der pfad des neuen users erstellt wird. da hatte ich ganz einfach den falschen benutzernamen für die uid übergeben das wars.
naja jetzt muss ich noch zusehen das ich für jeden user ne neue uidNumber erstellen kann, auch wenn ich jetzt grad noch net genau weis wie ich dat anstellen soll^^
Zuletzt bearbeitet: