apache24 sobrescrevendo AuthName no htaccess não funciona

2

Tentar usar AuthName em um arquivo .htaccess para substituir a configuração de nível superior não funciona - o servidor ainda envia o valor para WWW-Authenticate:"Basic realm="..."" definido na configuração. Isso ocorre apesar de ter AllowOverride AuthConfig ativado. Estou fazendo algo errado ou encontrei um bug?

link

<Directory "/www">
  AllowOverride AuthConfig
</Directory>

<Location />
  AuthName "config"
</Location>

/www/.htaccess

AuthType Basic
AuthName "htaccess"
AuthUserFile /dev/null
Require user nobody

PS: A versão do mundo real do exemplo acima é ter uma configuração de autenticação de 'logon único' de nível superior comum e, em seguida, apenas colocar a única linha "Exigir usuário válido" e tal em arquivos htaccess. O conflito aconteceu com um subdiretório que usa um domínio de autenticação falso para implementar o logout para autenticação básica.

    
por theultramage 20.10.2016 / 11:37

1 resposta

2

Como ezra-s sugeriu nos comentários, você precisa mover a diretiva AuthName do contêiner <Location> e definir no contêiner <Directory> .

<Location> contêineres são processados muito mais tarde na solicitação, depois de <Directory> containers e .htaccess files. Então, isso estará substituindo seu arquivo .htaccess .

Além disso, você não deve usar <Location> containers ao lidar com a autenticação de partes do sistema de arquivos, pois elas podem ser contornadas se os recursos forem acessados de várias URLs.

    
por 20.10.2016 / 11:53