Determinar dinámicamente el archivo htpasswd

Determinar dinámicamente el archivo htpasswd

¿Hay alguna forma de determinar dinámicamente qué archivo htpasswd usar en tiempo de ejecución? Por ejemplo, lo siguiente (que no funciona, solo un ejemplo) dentro de un contexto 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>

Sé que el ejemplo anterior no funciona, pero no estoy seguro de si hay una forma diferente de usar variables de entorno como esta... Si no, no sé si habría algún otro método para elegir el archivo htpasswd. dinámicamente en tiempo de ejecución. htpasswdfiles.map sería un mapa que contiene dominios a la izquierda y las rutas de archivo htpasswd apropiadas a la derecha.

Respuesta1

Solía ​​​​configurar la autenticación básica dinámica mod_perlsin ningún htpasswdarchivo, había un controlador declarado en las configuraciones de Apache y Perl se encargaba del resto. Pero probablemente esto no sea lo que desea ( mod_perlno se usa comúnmente en estos días).

Respuesta2

Solución 1

Simplemente apunte su configuración de Apache a un archivo plano y haga que un script fuera de Apache controle el contenido.

Solución 2

Utilice LDAP para la autenticación en lugar de buscar entradas en un archivo plano.

Respuesta3

Dado que la reescritura y la autenticación no tienen absolutamente nada en común, esto no funciona.

¿POR QUÉ necesitas "elegir el archivo htpasswd dinámicamente"?

información relacionada