
Existe alguma maneira de determinar dinamicamente qual arquivo htpasswd usar em tempo de execução? Por exemplo, o seguinte (que não funciona, apenas um exemplo) dentro de um 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>
Sei que o exemplo acima não funciona, mas não tenho certeza se existe uma maneira diferente de usar variáveis de ambiente como esta... Caso contrário, não sei se haveria algum outro método para escolher o arquivo htpasswd dinamicamente em tempo de execução. htpasswdfiles.map seria um mapa contendo domínios à esquerda e os caminhos de arquivo htpasswd apropriados à direita.
Responder1
Eu costumava configurar a autenticação básica dinâmica mod_perl
sem nenhum htpasswd
arquivo, havia um manipulador declarado nas configurações do Apache e o Perl cuidava do resto. Mas provavelmente não é isso que você deseja ( mod_perl
não é comumente usado atualmente).
Responder2
Solução 1
Basta apontar sua configuração do Apache para um arquivo simples e fazer com que um script fora do Apache controle o conteúdo.
Solução 2
Use LDAP para autenticação em vez de procurar entradas em um arquivo simples.
Responder3
Como a reescrita e a autenticação não têm absolutamente nada em comum, isso não funciona.
POR QUE você precisa "escolher o arquivo htpasswd dinamicamente"?