Ldap Zugriff auf Active directory um einen neuen Account zu erstellen mit php Script
Hallo,
Weiß nicht ob ich das hier oder im php Bereich erstellen sollte. Naja.
Meine Daten
Windows Server 2008
Active Directory installiert
IIS 7.0 auch installiert
So nun zu meinem Problem,
Ich möchte auf meiner hp die über dyndns über meinen Server läuft ein Login-System einbauen, dies soll aus dem Login-Bereich und dem Regestrieungsbereich bestehen.
Zum Login habe ich bereits mehrer Beispiel Scripts mit php gefunden.
Aber wie sieht der php Script aus der für die regestrieung eines neuen Accounts aus. Dieser Account soll ein ganz normaler Benutzer sein, der sich dann auch in der Domäne anmelden kann.
Hoffe mir kann einer ein Beispiel geben.
MfG
Fussel
Weiß nicht ob ich das hier oder im php Bereich erstellen sollte. Naja.
Meine Daten
Windows Server 2008
Active Directory installiert
IIS 7.0 auch installiert
So nun zu meinem Problem,
Ich möchte auf meiner hp die über dyndns über meinen Server läuft ein Login-System einbauen, dies soll aus dem Login-Bereich und dem Regestrieungsbereich bestehen.
Zum Login habe ich bereits mehrer Beispiel Scripts mit php gefunden.
Aber wie sieht der php Script aus der für die regestrieung eines neuen Accounts aus. Dieser Account soll ein ganz normaler Benutzer sein, der sich dann auch in der Domäne anmelden kann.
Hoffe mir kann einer ein Beispiel geben.
MfG
Fussel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 164283
Url: https://administrator.de/contentid/164283
Ausgedruckt am: 22.11.2024 um 02:11 Uhr
19 Kommentare
Neuester Kommentar
moin,
da in deinen Daten keine Firewall oder ein VPN genannt wurde....
php, windows und Konsorten sind per anno unsicher und ich vermute, dir wird hier keiner ein Tool zusammenzimmern, dass eine so gefährliche Nummer, wie es nunmal das anlegen eines AD Users via php ist.
Besorg dir ein Firewall, bau dir einen VPN Tunnel und mach das ohne PHP.....
Gruß
da in deinen Daten keine Firewall oder ein VPN genannt wurde....
Hoffe mir kann einer ein Beispiel geben.
php, windows und Konsorten sind per anno unsicher und ich vermute, dir wird hier keiner ein Tool zusammenzimmern, dass eine so gefährliche Nummer, wie es nunmal das anlegen eines AD Users via php ist.
Besorg dir ein Firewall, bau dir einen VPN Tunnel und mach das ohne PHP.....
Gruß
Was soll daran gefährlich sein, dass via PHP zu machen?
Ich habe auch schon Massenimports mit PHP gemacht, das ist ja nichts anderes als was Microsoft bei seinen LDAP-VBScripts auch zeigt.
Geht problemlos wenn man eine verschlüsselte LDAP-Verbindung hat.
Und ich glaube eher der TO meint, dass seine Website auf dem AD-Server liegt.
Ich habe auch schon Massenimports mit PHP gemacht, das ist ja nichts anderes als was Microsoft bei seinen LDAP-VBScripts auch zeigt.
Geht problemlos wenn man eine verschlüsselte LDAP-Verbindung hat.
Und ich glaube eher der TO meint, dass seine Website auf dem AD-Server liegt.
http://sourceforge.net/projects/adldap/
Nach dem Download schau' Dir examples.php an, dort siehst Du ein Beispiel, wie Du Benutzer eröffnest, zu Gruppen hinzufügst, etc.
Nach dem Download schau' Dir examples.php an, dort siehst Du ein Beispiel, wie Du Benutzer eröffnest, zu Gruppen hinzufügst, etc.
Ja, klasse mit include laden, instantiieren ($adldap = new adLDAP($options);) und dann den Benutzer eröffnen.
Das Stichwort für "Felder erkennen" nennt sich in HTML-Formular.
http://de.selfhtml.org/html/formulare/eingabe.htm
http://php.net/manual/de/tutorial.forms.php
Das Stichwort für "Felder erkennen" nennt sich in HTML-Formular.
http://de.selfhtml.org/html/formulare/eingabe.htm
http://php.net/manual/de/tutorial.forms.php
Also, ohne wirkliche PHP-Erfahrung würde ich das so machen:
index.html
form mit den frei zu wählenden Daten (Name, Passwort, usw.).
form mittels POST auf addADUser.php zeigen
addADUser.php:
Klasse includen, und dann instantiieren.
Du musst Dir das so vorstellen: Du gehst in eine Bibliothek und nimmst es zu Dir (include).
Nun legst Du es auf den Tisch, um damit arbeiten zu können (das wäre übersetzt das instantiieren. Du lädst die Klasse in eine Variable, von welcher Du die Methoden abrufen kannst).
Du kannst hierbei eigentlich alles von examples.php rauskopieren, wichtig ist:
Bei den Attributen-Array ($attributes) für user_create musst Du die Werte ändern, entweder mit Konstante (also feste Werte, zum Beispiel wenn alle Benutzer bei der Erstellung des Accounts das gleiche Standard-Passwort haben sollte), oder eben mit den Werten des Formulars (z.B. $attributes["surname"] = $_POST["nachname"];)
ACHTUNG:
Du hast hier absolut keine Sicherheitsmechanismen eingebaut, es ist daher wichtig, dass unter keinen Umständen ein Dritter dieses Script (auf Deinem Server) benutzen kann.
index.html
form mit den frei zu wählenden Daten (Name, Passwort, usw.).
form mittels POST auf addADUser.php zeigen
addADUser.php:
Klasse includen, und dann instantiieren.
Du musst Dir das so vorstellen: Du gehst in eine Bibliothek und nimmst es zu Dir (include).
Nun legst Du es auf den Tisch, um damit arbeiten zu können (das wäre übersetzt das instantiieren. Du lädst die Klasse in eine Variable, von welcher Du die Methoden abrufen kannst).
Du kannst hierbei eigentlich alles von examples.php rauskopieren, wichtig ist:
Bei den Attributen-Array ($attributes) für user_create musst Du die Werte ändern, entweder mit Konstante (also feste Werte, zum Beispiel wenn alle Benutzer bei der Erstellung des Accounts das gleiche Standard-Passwort haben sollte), oder eben mit den Werten des Formulars (z.B. $attributes["surname"] = $_POST["nachname"];)
ACHTUNG:
Du hast hier absolut keine Sicherheitsmechanismen eingebaut, es ist daher wichtig, dass unter keinen Umständen ein Dritter dieses Script (auf Deinem Server) benutzen kann.
Schau dir mal LiveUser an. Ist eine Pear Klasse für PHP und ermöglicht die Authentifikation über Samba, POP3... vielleicht ist auch was für Windows dabei. Ob man darüber Benutzer anlegen kann weiß ich nicht ist aber vielleicht als Grundlage zu gebrauchen. Habe es selber noch nicht verwendet, nur mal irgentwo gelesen Viel Glück!
gude,
Also, folgendes:
Der "Benutzer", der php.exe initialisiert, muss sicher mal Domänen-Admin sein.
Packe nun erstmal die Datei "adLDAP.php" in den gleichen Ordner wie "addADUser.php".
Ändere die Zeile "include ("../adLDAP.php"); " durch "include ("adLDAP.php");
Natürlich könntest Du auch die ganzen User in eine MySQL-Tabelle packen und dann per Task-Scheduler auslesen, aber was wäre der Vorteil?
Also, folgendes:
Der "Benutzer", der php.exe initialisiert, muss sicher mal Domänen-Admin sein.
Packe nun erstmal die Datei "adLDAP.php" in den gleichen Ordner wie "addADUser.php".
Ändere die Zeile "include ("../adLDAP.php"); " durch "include ("adLDAP.php");
Natürlich könntest Du auch die ganzen User in eine MySQL-Tabelle packen und dann per Task-Scheduler auslesen, aber was wäre der Vorteil?