Fehler 401 +wechsel der Benutzerdaten
an28
- html
1 dedlfix
Hallo Leute,
ich hab beim Entwickeln eines kleinen webbasierten tools ein Problem und hätte von euch gern Hinweise wie man es möglichst simpel beheben kann. Zur Situation : Ich habe über den IIS einen PHP Server aufgesetzt der auf Anweisung meine Scripte ausführt, das funktioniert auch tadellos. Da es sich um ein Firmennetzwerk handelt wird die Authentifizierung direkt über Domänenaccount (AD) geregelt, dass heisst der Internet Explorer leitet den aktuellen Login direkt weiter (optimal) und Firefox fragt Name und Passwort ab (auch ok). Mein Problem ist nur, dass einige Nutzer mehrere Accounts haben und es so notwendig sein kann seine Credentials zu wechseln.
Meine Frage ist deshalb: Wie kann man sinnvoll die Credentials eines Users zurücksetzen bzw. wechseln?
Aktuell versuche ich in PHP über einen header den Fehler 401 auszulösen (Unauthorized) und danach ein redirect zu bekommen. 401 setzt die Credentials offenbar zurück, wenn ich den Fehler aber im header auslöse kommt es zu einer endlosschleife.
Der Grund warum ich im HTML Bereich poste ist, dass ich unsicher bin ob PHP sinnvoll für meine Zwecke ist oder ob ich nicht per HTML/JS die Credentials zurücksetzen kann oder neue an den Server übermitteln kann.
Würde mich freuen wenn mir jemand helfen kann.
Gruß,
an28
Tach!
[...] über den IIS einen PHP Server aufgesetzt [...] Authentifizierung direkt über Domänenaccount (AD) geregelt [...]
Wie kann man sinnvoll die Credentials eines Users zurücksetzen bzw. wechseln?
An Windows ummelden wenn du den IE verwendest oder Firefox neustarten. Der IE nimmt automatisch bei NTLM-Authentifizierung die Anmeldedaten vom aktuellen Benutzer.
Aktuell versuche ich in PHP über einen header den Fehler 401 auszulösen (Unauthorized) und danach ein redirect zu bekommen. 401 setzt die Credentials offenbar zurück, wenn ich den Fehler aber im header auslöse kommt es zu einer endlosschleife.
Der IIS wird weiterhin dem Client erzählen, dass der NTLM machen soll. Der versucht mit den bekannten Daten die Anmeldung. Da HTTP-Authentication keine Anmeldung ist, gibt es auch keinen vorgesehenen Weg der Abmeldung. Alles andere ist irgendwie Bastelei.
Ich hab mir zwei Wege ausgedacht, aber beide sind vermutlich Holzwege. Der erste wäre, in der PHP-Applikation über ein Formular ein Wechseln vorzusehen. Das wird vermutlich scheitern, weil die PHP-Anwendung die Credentials gegen das AD prüfen muss und ich mir vorstellen kann, dass da weder PHP noch das AD nicht richtig mitspielen werden.
Der andere wäre, ein weiteres virtuelles Directory zu erstellen, in dem du nicht NTLM sondern Basic Authentication konfigurierst. Wenn jemand eine andere Kennung nehmen will, musst du ihn dorthin senden. Wobei du auch hier wieder das Problem haben wirst, dass die Basic Auth nicht "von selbst" gegen das AD läuft, wie es bei NTLM der Fall ist.
dedlfix.