Sven Rautenberg: AUTH_USER Hilfe ich komm nicht ran!

Beitrag lesen

Moin!

Genau: Deshalb geht die Abfrage auch mit:
Request.ServerVariables["AUTH_USER"];

Das Problem ist nur:
Wie kann der LDAP Server dem IIS sagen: "Hey, da hat sich der USER dieser Session erfolgreich angemeldet, hier ist sein Name + Password".

LDAP kommuniziert nur mit dem Webserver, nicht mit dem Browser.

Der LDAP-Server kriegt also nie zu wissen, was der Webserver mit den Browsern kommuniziert.

Alle mir bekannten Authentifizierungsverfahren für HTTP arbeiten immer so, dass der Browser dem Webserver irgendeinen individuell verschiedenen Wert sendet (sei es eine Session-ID oder eben Username/Passwort) - bei JEDEM Request, nicht nur einmal. Dabei ist es grundsätzlich egal, ob die Daten als Cookie, URL-Parameter oder Formularwert gesendet werden.

Der Webserver sucht dann in der Benutzerdatenbank nach, ob entweder der Benutzername und das Passwort korrekt sind, oder er sucht die Session-Daten raus, in denen drinsteht, ob der Benutzer sich schon mal erfolgreich mit Benutzername und Passwort angemeldet hat. Und wenn man kompliziertere Rechtesysteme hat, dann kann man mit dem Benutzernamen und Passwort aus der Session die Benutzerdatenbank auch noch mal nach den Rechten fragen (andere Leute speichern die direkt in der Session - ist schneller).

Benutzerdatenbank ist bei dir LDAP. Schön. Aber es ändert am Prinzip nichts: Du mußt irgendwie Benutzername und Passwort herausfinden, wenn du LDAP was über den Benutzer fragen willst. Und dazu mußt du zwingend den gleichen Mechanismus verwenden, den auch das Portal verwendet, denn ansonsten hättest du eine zweite Anmeldung, die der Benutzer für den Zugriff auf deine Seite machen muß.

Ich bin bereit das auch händisch zu machen.
Request.ServerVariables.Set("AUTH_USER", username);
Leider wird dann folgender Fehler geworfen:
"Servervariablen können nicht ohne weiteres gsettzt werden"

Du kannst das nicht händisch machen. Du mußt herausfinden, wie das Portal die Benutzerinformationen erhält und verwaltet. Ich vermute, es wird eine Session per Cookie genutzt (ist bei ASP typischerweise direkt eingeschaltet - lästiges Zeugs, das). Das bedeutet, dass du irgendwelche Session-Variablen hast, auf die du zugreifen kannst, und in denen wahrscheinlich auch der aktuelle Benutzername, das Passwort, und vielleicht sogar die Benutzerrechte drinstehen.

Aber an diesem Punkt kann dir niemand weiterhelfen, weil das eben ganz stark vom Portal abhängt, und von dessen Programmierung.

- Sven Rautenberg

--
Die SelfHTML-Developer sagen Dankeschön für aktuell 20065,57 Euro Spendengelder!