Michael Schröpl: .HTACCES - pro User ein eigenes Verzeichnis, geht das?

Beitrag lesen

Hi,

Der angemeldete Benutzer steht bei der Ausführung von Skripts, die
im geschützten Bereich liegen, in der Umgebungsvariablen REMOTE_USER.
Die kannst du auslesen und auf den jeweiligen Benutzernamen reagieren.

ich vertiefe das mal ein bißchen:

So, wie ich die Aufgabenstellung verstanden habe, soll zunächst mal schon der erste, unspezifische Zugriff, sagen wir mal: Auf das Wurzelverzeichnis des Benutzer-Baums, die Server Authentication auslösen. Dazu würde ich in dieses Verzeichnis einen Zugangskontrolle legen, welche mit "require valid_user" für jeden registrierten Benutzer den Zugang ermöglicht.

Nach der erfolgreichen Validierung führt der Apache dann den URL-Zugriff auf dieses Verzeichnis durch. Diesen würde ich - über Definition eines entsprechenden DirectoryDefault - auf ein CGI-Skript lenken, welches dann wie von Frank erwähnt die Environment-Variable REMOTE_USER auswertet und bedingt auf deren Inhalt eine automatische Weiterleitung (HTTP-Status 302) auf ein Unterverzeichnis durchführt, dessen name aus dem Inhalt dieser Benutzerkennung gebildet wird. Dieser URL wäre dann dem Benutzer auch in seiner Browser-URL-Zeile sichtbar.

Damit nun niemand einfach direkt in dieses Unterverzeichnis springen kann (auch nicht der Besitzer einer anderen Benutzerkennung, der sich ja korrekt authentifizieren kann!), sollte auch in diesem Unterverzeichnis selbst nochmal eine Zugangskontrolle erfolgen, welche dann nur noch diejenige Benutzerkennung autorisiert, der das Verzeichnis tatsächlich gehört. Ich habe das nicht selbst ausprobiert, aber ich gehe davon aus, daß der Browser normalerweise keinen neuen Login-Dialog anzeigen wird, wenn diese zweite Schutz-Ebene denselben RealmName besitzen würde wie der äußere Schutzmechanismus - denn der Webserver fragt den Browser ja mit diesem RealmName nach einer Autorisierung, und der Browser hat sich üblicherweise die vorherige Autorisierungs-Information gemerkt, weil er sie ja ohnehin an jede weitere Seite innerhalb es geschützten Bereichs immer wieder mit senden muß.

Viele Grüße
      Michael