Domänenbenutzer abfragen mit PHP
-
Geht es um den User beim Client, oder auf dem Server
-
Ich dachte mir das eigentlich so, dass meine tolle webseite "irgendwas" aufruft, was dann prüft ob der an windows angemeldete benutzer dem domänencontroller bekannt ist. Das Ergebnis gibt "irgendwas" dann wieder an meine tolle webseite zuürck.
Zweck: Login mit session etc sparen, damit man sich nicht einloggen muss, sparrt tiparbeit. Und die Berechtigungen könnte man dann ja anhand der Gruppe bauen.
-
Ahso... am Server... Na dann... php.net
-
Du willst also die Login-Daten des Client abfragen und überprüfen - ich denke nicht, das dass so ohne weiteres möglich ist. Brauchst du das Ganze denn für eine Intranet-Lösung?!
Einfacher wäre es wohl einfach die Login-Daten in einem Cookie zu speichern
-
Ahso... am Server... Na dann... php.net
Meiner Meinung nach am Client, also bei jedem Client soll geprüft werden ob der angemeldete User ein Domänenbenutzer ist (der auch drauf zugreifen darf) oder ob er sich die URL von sonstwoher besorg hat und eigentlich gar nicht berechtigt ist, zuzugreifen.
Du willst also die Login-Daten des Client abfragen und überprüfen - ich denke nicht, das dass so ohne weiteres möglich ist. Brauchst du das Ganze denn für eine Intranet-Lösung?!
Ja genau und ja, Intranet.
-
Achso, na dann mach das lieber mit Cookies und Sessions, kreiere jedesmal ne neue SessionID, wenn sie nicht gültig ist, wird abgebrochen und wenn ja, wird eben die Seite geöffnet.
-
Und was wenn cookies nicht erlaubt sind?
-
Sämtliche Authentifizierungen musst Du auf dem Server erledigen, da sie sonst zu leicht umgangen werden können.
Eine Möglichkeit sind wie Windoof schrieb Sessions. Für diese müssen Cookies nicht zwingend aktiviert sein, da Du die Session Id auch per URL übergeben kannst.
Du kannst zusätzlich noch IP/MAC überprüfungen vornehmen. Dadurch kannst Du bestimmte Rechner komplett von der Seite ausschließen. Dies aber nur als Ergänzung zu z.B. Sessions, da man beide Adressen spoofen kann.
Gruss
-
Bei Sessions muss sich der User doch aber einloggen, sprich tippen. Er möchte aber nicht tippen, da er sich ja schon an Windows angemeldet hat und keine Lust auf noch ne Anmeldung hat...
Oder woher nehm ich die Daten für die Session???
IP ausschließen geht nicht, da sich ja unterschiedliche Benutzer an den Rechnern anmelden können.
-
daran bin ich aus intersiert,
-
Das ist eigentlich kein Job für PHP, daß ist eigentlich ein Job des Web-Servers, damit auch in $_SERVER['REMOTE_USER'] und Konsorten korrekte Werte stehen.
Für Apache gab's zu NT 4.0 PDC-Zeiten mal ein Authentifikationsmodul, lief aber wohl eher holperig. Ich habe ein paar mal gegoogelt, konnte es aber nicht mehr finden - ich vermute daher das es das Modul nicht mehr gibt (mod_auth_???).Ich hatte jedenfalls damals eine ganze Meute maulender User, wegen der zweiten Anmeldung (Domäne, Intranet). Habe es dann aber dabei belassen (müssen). Aufgrund der zahlreichen Features legte sich das gemaule dann schnell und heute kräht kein Hahn mehr danach. Wer in's Intranet will, muß sich anmelden - das gilt heute als normal. Keiner stört sich drann...
-
Naja, die Brechstangenmethode wäre wohl die Socket-Funktionen von PHP zu verwenden und sich mittels SMB-Protokoll irgendwie authentifizieren zu lassen...
Da haste aber immernoch das Problem, dass de nicht an die Benutzerdaten rankommst ohne Tippaufwand.Evtl. gäbe es ne möglichkeit quasi auf dem DC den aktuell eingeloggten User anhand der IP des Rechners zu ermitteln (mittels zusätzlicher Software) ... allerdings scheint mir das Alles ein wenig Gebastelt zu sein...
-
Hab da was im Vorbeistreifen gefunden:
http://www.experts-exchange.com/Programming/Programming_Languages/Perl/Q_21013210.html
Und da gibts bestimmt noch mehr Anregungen:
http://www.google.ch/search?hl=de&ie=UTF-8&q=PHP+Authentication+Domain+controler&meta=
-
Wenn das User-Profil irgendwo auf einem Server liegt sollten doch auf jedem Rechner an dem sich der User anmeldet seine Cookies vorhanden sein, oder nicht. Und dann könntest du es doch so machen, wie z.B. in diesem Forum: man meldet sich einmal an und bleibt dann eingeloggt, bis man sich eben von Hand wieder ausloggt
- und einmal seine Login-Daten einzutippen ist doch wohl auch nicht zuviel verlangt