Exceção da diretiva de localização do Apache

1

Estou tentando autenticar usuários para todos os URLs, exceto para uma expressão regular:

https://www.example.com/****anything**** deve solicitar autenticação https://www.example.com/exams/****anything**** NÃO deve solicitar autenticação

Esta é minha configuração hoje, mas não está funcionando:

<LocationMatch "^/exams">
    Order allow,deny
    Allow from all
</LocationMatch>

<Location "/">
    Order allow,deny
    Allow from all

    AuthType Basic
    AuthName "PLEASE,AUTHENTICATE"
    AuthBasicProvider ldap-employees
    Require valid-user
</Location>

Ele pede autenticação para cada URL

    
por brgsousa 21.07.2015 / 22:25

1 resposta

3

Acho que você pode conseguir isso se tiver mod_authz_host e mod_rewrite . Basicamente, defina uma variável de ambiente se o URL corresponder a / exames e procurar por isso e, se estiver definido, permitir o acesso. Veja o exemplo abaixo. Neste exemplo, você não teria a tag <Location> adicional.

SetEnvIf Request_URI "^/exams.*" accessgranted=1

<Location "/">
    Order deny,allow
    Satisfy any
    Deny from all
    Allow from env=accessgranted
    AuthType Basic
    AuthName "PLEASE,AUTHENTICATE"
    AuthBasicProvider ldap-employees
    Require valid-user
</Location>

link

    
por 21.07.2015 / 22:44