Determinar dinamicamente o arquivo htpasswd

Determinar dinamicamente o arquivo htpasswd

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_perlsem nenhum htpasswdarquivo, havia um manipulador declarado nas configurações do Apache e o Perl cuidava do resto. Mas provavelmente não é isso que você deseja ( mod_perlnã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"?

informação relacionada