lousek
Goto Top

LDAP und PHP, Werte in AD einfügen (in Benutzereigenschaften)

Hallo zusammen.

Also, ich habe einige Probleme mit LDAP (habe aber auch erst heute damit angefangen :-P ):

Die Verbindungen etc. und das Auslesen von "Werten" ni PHP (mit LDAP) habe ich schon geschafft (für euch eine NOOB-Frage face-wink )

Jetzt würde ich aber gerne haben, dass (sobald sich der User eingeloggt hat (noch nicht so wichtig)), ihm eine Seite "Profil" o.ä. zur Verfügung steht.

Dort soll er seine Daten sehen (Name, Vorname, Benutzername, Erstellt, Letzter Login ...)
-->und einen Link "Profil ändern" haben.

Ich nehme mal an:

-ein Formular mit allen angezeigten Feldern, value ist bei allen der momenate Wert (also im Inputfeld "Benutzername" steht z.B. hans.muster ...)

-->mit PHP können ja die Werte ohne Probleme als Variablen gespeichert werden (z.B. $form_username = $_POST['username'])

Wie kann ich jetzt, wenn der User z.B. den Wert im Feld "E-Mail" von hans.muster@bsp.com auf hans.hubacher@bsp.com geändert hat, diese Updaten?

Logisch muss z.B. das Feld mit dem Benutzername auf "readonly" gestellt sein.

Ich denke, ihr könnt mir sicher helfen.

THX for ALL ANSWERS.

Greetz, Lousek

Content-Key: 77782

Url: https://administrator.de/contentid/77782

Printed on: April 18, 2024 at 15:04 o'clock

Member: Dani
Dani Jan 10, 2008 at 13:13:09 (UTC)
Goto Top
Hallo,
ich bin mir fast sicher, dass sowas geht. Schau mal hier nach. Dort gibts eine kl. Liste von LDAP-Funktionen.

Codebespiele gibt es bei Google wie der Sand am Meer... face-smile


Grüße
Dani
Member: Lousek
Lousek Jan 10, 2008 at 21:55:13 (UTC)
Goto Top
Hmm, irgendwie blick ich da einfach nicht durch :-$

Kennt jemand ein gutes Tutorial auf Deutsch oder hat jemand ein Code dazu den er posten könnte / möchte?

THX, Lousek
Member: Lousek
Lousek Jan 12, 2008 at 00:10:01 (UTC)
Goto Top
Hallo.

Es will und will einfach nicht funktionieren.

Was ist hierdran so falsch? Auslensen der Daten funktioniert ohne Probleme, nur das Einfügen nicht:

Daten vorbereiten
$info["cn"]="Hans Mustermann";
$info["sn"]="Mustermann";
$info["mail"]="MustermannH@firma.de";
$info["objectclass"]="person";

hinzufügen der Daten zum Verzeichnis
$r=ldap_add($connect, "cn=Hans Mustermann,ou=test.local,dc=test,dc=local", $info) OR die ("Eingabe fehlgeschlagen");

echo "Daten hinzugefügt";

Hier ist es zwar die Funktion ldap_add(), aber das sollte eigentlich keinen grossen Unterschied zu ldap_modify() machen, sie sind ja eigentlich genau gleich aufgebaut.

Ach ja, als "Error" kommt einfach immer den OR die ("Eingabe fehlgeschlagen"), also muss das ja einfügen/erstellen ja nicht funktionieren.

Ich hoffe, jemand kann mir helfen, irgendwie will es einfach nicht.

Greetz, Lousek
Member: Dani
Dani Jan 12, 2008 at 12:34:01 (UTC)
Goto Top
Hallo,
also ich bin auch nicht viel weiter gekommen. Aber so auf den 1. Blick würde ich behaupten, dass du "ldap_add" durch "ldap_modify" ersetzen solltest, denn der Benutzer existiert bereits, oder? Objekte hinzufügen darf nämlich nur der Admin!


Grüße
Dani
Member: Lousek
Lousek Jan 12, 2008 at 12:38:34 (UTC)
Goto Top
Hallo.

Nein, dieser User existiert noch nicht.

Und ldap_modify und ldap_add sollte ja eigentlich gleich aufgebaut sein (logisch, den User darf es noch nicht geben).

Kanst du mir erklären wie das mit den Objectclasses ist?

Weil so habe ich es gesschafft, obwohl ich noh nicht richtig durchblicke:

Daten vorbereiten
$array["objectclass"]="top";
$array["objectclass"][1]="person";
$array["objectclass"][2]="inetOrgPerson";
$array["cn"]="Hallo";
$array["sn"]="Du";
$array["mail"]="Hallo.Du@firma.de";

hinzufügen der Daten zum Verzeichnis
$r=ldap_add($connect, "cn=Hallo,ou=test.local,dc=test,dc=local", $array) OR die ("Eingabe fehlgeschlagen");

echo "Daten hinzugefügt";

Greetz, Lousek
Member: Dani
Dani Jan 12, 2008 at 13:17:05 (UTC)
Goto Top
Hi,
also ich habe ein bisschen im Internet geschaut. So wie es aussieht, beschreibt "objectclass" das Objekt an sich - die Eigenschaften. Objekte sind z.B. User, Gruppen, etc....

Jedoch in welcher Klasse, was steht weiß ich nicht. Ich such immer noch eine Liste.

Hier mal ein paar Beispiele:
http://www.js-home.org/wissen/texte.php/DID=1&PRINT=1
http://www.selfadsi.de/ads-attributes/user-objectClass.htm


Grüße
Dani