Apache mod_auth_basic e Ordering

2

Eu tenho a configuração do Apache para autenticar com o diretório ativo através do ldap para meus usuários. Existem alguns usuários de "sistema" (para testes de compilação automatizados) que são configurados manualmente e autenticados por meio de arquivo.

AuthBasicProvider ldap file

O problema que estou tendo é que a caixa do Active Directory costuma cair de vez em quando para manutenção ou outros motivos e não quero que meus usuários de "sistema" tenham acesso negado durante esse tempo. Eu gostaria que o Apache tentasse autenticação com arquivo e depois com o ldap, mas isso não parece ser possível. De acordo com o link , "a ordem de processamento é determinada no código-fonte dos módulos e não é configurável. "

Isso simplesmente não parece certo. Eu acho que um (muitas vezes) gostaria de especificar a ordem dos provedores de autenticação (se não pelas razões que quero então por outras razões). Não há como fazer isso sem invadir o código fonte?

p.s. Alterar a configuração para AuthBasicProvider file ldap não faz diferença.

    
por Josh Johnson 08.06.2011 / 15:58

1 resposta

2

According to http://httpd.apache.org/docs/2.2/mod/mod_auth_basic.html, "the order of processing is determined in the modules' source code and is not configurable."

A citação acima é não falando sobre o que você está perguntando:

This should only be necessary when combining mod_auth_basic with third-party modules that are not configured with the AuthBasicProvider directive. When using such modules, the order of processing is determined in the modules' source code and is not configurable.

A partir da versão 2.2, o Apache permite usar múltiplos provedores . Eu testei no meu sistema (Apache 2.2.20), ele funciona bem:

<Location />
    AuthType Basic
    AuthBasicProvider file ldap
    AuthUserFile /etc/httpd/passwords
    AuthzLDAPAuthoritative Off
    AuthLDAPURL ldap://ip:389/dc=x,dc=y?cn
    AuthLDAPBindDN cn=anonymous,ou=z,dc=x,dc=y
    AuthLDAPBindPassword pa$$w0rd
    AuthName "Restricted Area"

    AuthzLDAPGroupBase      ou=z,dc=x,dc=y
    AuthzLDAPGroupkey       cn
    AuthzLDAPMemberKey      member
    AuthzLDAPSetGroupAuth   user
    require valid-user
    AuthzLDAPLogLevel       error
</Location>

Pare o OpenLDAP, ainda posso fazer login com usuários em /etc/httpd/passwords .

    
por 11.10.2011 / 10:07