htpasswd-Datei dynamisch ermitteln

htpasswd-Datei dynamisch ermitteln

Gibt es eine Möglichkeit, dynamisch zu bestimmen, welche htpasswd-Datei zur Laufzeit verwendet werden soll? Beispielsweise Folgendes (das nicht funktioniert, nur ein Beispiel) in einem VirtualHost-Kontext:

RewriteEngine on
RewriteMap htpasswdfiles txt:/srv/htpasswdfiles/htpasswdfiles.map
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule .* - [E=PASSWD_FILE:${htpasswdfiles:%1},L]

<Directory /some/path>
    AuthType Basic
    AuthName "Restricted Access"
    AuthUserFile $PASSWD_FILE
    Require valid-user
</Directory>

Ich weiß, dass das obige Beispiel nicht funktioniert, aber ich bin nicht sicher, ob es eine andere Möglichkeit gibt, Umgebungsvariablen wie diese zu verwenden ... Wenn nicht, weiß ich nicht, ob es eine andere Methode gibt, um die htpasswd-Datei dynamisch zur Laufzeit auszuwählen. htpasswdfiles.map wäre eine Zuordnung, die links Domänen und rechts die entsprechenden htpasswd-Dateipfade enthält.

Antwort1

mod_perlFrüher habe ich die dynamische Basisauthentifizierung ohne Dateien eingerichtet htpasswd, in den Apache-Konfigurationen war ein Handler deklariert und Perl hat den Rest erledigt. Aber das ist wahrscheinlich nicht das, was Sie wollen ( mod_perlwird heutzutage nicht mehr häufig verwendet).

Antwort2

Lösung 1

Richten Sie Ihre Apache-Konfiguration einfach auf eine Flatfile aus und lassen Sie den Inhalt von einem Skript außerhalb von Apache steuern.

Lösung 2

Verwenden Sie LDAP zur Authentifizierung, anstatt Einträge in einer Flatfile nachzuschlagen.

Antwort3

Da Umschreiben und Authentifizierung absolut nichts gemeinsam haben, funktioniert dies nicht.

WARUM müssen Sie die „htpasswd-Datei dynamisch auswählen“?

verwandte Informationen