A autenticação básica do Apache parece desativar outro módulo

1

Eu tenho um Apache 2.2 (atrás de um balanceador de carga) com um módulo adicional de terceiros (agente da web OpenAM) que é carregado por meio da diretiva LoadModule. Este módulo verifica todas as solicitações, se estiverem autorizadas ou não. Toda a configuração está funcionando e no log do módulo de terceiros eu posso ver que as verificações são feitas de acordo com cada solicitação encontrada no log de acesso do apache.

A situação muda se eu ativar a autenticação básica colocando as seguintes diretivas na parte VirtualHost da configuração do Apache:

<Directory /path/to/docroot>
    Options -MultiViews
    AllowOverride All
    Order deny,allow
    Deny from all
    Allow from 10.0.0.0/8
    Allow from <other ips>
    AuthType Basic
    AuthBasicProvider file
    AuthName "AuthZone"
    AuthUserFile /path/to/htpasswd
    Require valid-user
    Satisfy Any
</Directory>

Agora, a autenticação básica funciona, mas não as verificações do módulo de terceiros. Parece que todas as solicitações que estavam sujeitas ao processamento de autenticação básica não chegaram ao módulo de terceiros. Nos logs do último, eu posso ver apenas solicitações que correspondem ao "Allow" e, portanto, não passaram no processamento de autenticação básico.

Eu posso ver todas as solicitações no log de acesso e posso ver que o Apache responde com o Código 200 para as solicitações "ausentes".

Qual pode ser o motivo disso? O log de erros não contém informações úteis.

    
por bfb 10.11.2011 / 21:22

1 resposta

1

Embora eu não possa dizer realmente para o módulo de terceiros e como ele está conectado ao fluxo de autorização, eu aposto que a causa é Satisfy Any .

Ele permite que o restante das etapas de autorização sejam ignoradas quando um método de autorização é correspondido. Isso parece com o que você está vendo.

    
por 10.11.2011 / 23:26