Динамически определить файл htpasswd

Динамически определить файл htpasswd

Есть ли способ динамически определить, какой файл htpasswd использовать во время выполнения? Например, следующее (не работает, просто пример) внутри контекста VirtualHost:

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>

Я знаю, что приведенный выше пример не работает, но я не уверен, есть ли другой способ использовать переменные среды, подобные этому... Если нет, я не знаю, есть ли другой способ выбрать файл htpasswd динамически во время выполнения. htpasswdfiles.map будет картой, содержащей домены слева и соответствующие пути к файлам htpasswd справа.

решение1

Я использовал для настройки динамической базовой аутентификации mod_perlбез каких htpasswd-либо файлов, был обработчик, объявленный в конфигах Apache, а Perl обрабатывал все остальное. Но это, вероятно, не то, что вам нужно ( mod_perlв наши дни это обычно не используется).

решение2

Решение 1

Просто укажите в конфигурации Apache простой файл, а внешний скрипт Apache будет управлять его содержимым.

Решение 2

Используйте LDAP для аутентификации вместо поиска записей в плоском файле.

решение3

Поскольку перезапись и аутентификация не имеют абсолютно ничего общего, это не работает.

ПОЧЕМУ вам нужно «выбирать файл htpasswd динамически»?

Связанный контент