Temos algumas regras para uma subárvore de Location
s, que envolvem Require
-ing ldap-group
e expr
-s.
O utilizador é devidamente desafiado a fornecer credenciais de login, que são verificadas.
No entanto, mesmo quando as credenciais estão corretas e o acesso é negado por outros motivos (como pertencer a um grupo errado ou vir de um endereço IP incorreto), a resposta do servidor é sempre 401 -- em vez de 403.
Como resultado, os navegadores continuam solicitando aos usuários que "tentem novamente"... Posso dizer ao Apache (2.4) para usar 403, se as informações fornecidas no Authorization
cabeçalho forem confirmadas e for alguma outra regra que rejeite o solicitar?
Mais uma vez, eu sei por que , depois que a autenticação é bem-sucedida, a autorização é negada para alguns dos usuários -- é suposto. Só preciso comunicar a esses usuários que: "Sim, acreditamos que você é quem diz ser, mas não tem permissão para acessar este local."
Parece que mod_rewrite é o único método para induzir uma resposta 403 - uma expressão mod_rewrite pode verificar a associação de um grupo LDAP ou alterar forçosamente o status de 401 para 403?
Fiz esta pergunta no site do WebMaster , mas não obtive respostas - o pessoal de lá parece mais orientado para o conteúdo .
Aqui está o trecho relevante da minha configuração atual:
<Location /foo>
Require ldap-group CN=foo,OU=Groups,DC=example,DC=net
</Location>
Quando o nome de usuário/senha fornecidos são verificados, mas o requisito não é atendido, preciso retornar um 403... 401 está sendo retornado no momento.
Acho que o que você quer é AuthzSendForbiddenOnFailure :
Observe que ele carrega um aviso de segurança: