Autenticar Apache dinamicamente com LDAP com base na sequência de solicitações?


11

É possível utilizar uma parte do pedido URI como um contributo para o mod_authnz_ldap Require ldap-groupdirectiva?

Estou tentando verificar dinamicamente o acesso a vários diretórios de projetos diferentes, todos em http://testserver.com/projects/ , para que um usuário acessando /projects/abcseja verificado quanto à associação cn=abc,ou=groups,dc=test. Idealmente, eu gostaria de fazer isso sem criar uma diretiva Location separada para cada projeto, pois pode haver centenas delas.

Eu vim com isso, que ilustra o conceito geral, mas que não funciona (project_name não recupera o conteúdo real da variável):

<Location /projects>
    SetEnvIf Request_URI "/projects/([-a-z0-9A-Z_]+)/" project_name=$1

    AuthType Basic
    AuthBasicProvider ldap
    AuthName "Restricted Resource - SVN (LDAP)"
    AuthLDAPURL "ldap://127.0.0.1:389/dc=test?uid"
    AuthLDAPGroupAttributeIsDN off
    AuthLDAPGroupAttribute memberUid
    Require ldap-group cn=%{project_name},ou=groups,dc=test
</Location>

Socorro?


Não é possivel. Sua melhor aposta é tentar algo como mod_auth_external .
H0tw1r3 23/07

Respostas:


0

Acredito que o Apache 2.4 tenha mais a oferecer nesta área do que 2,2 ... pode valer a pena olhar.

Como alternativa, pode valer a pena procurar criar seu próprio módulo personalizado; não é tão assustador quanto parece - supondo que você esteja confortável em C.

Da mesma forma, o mod_perl não oferece muito em estender o Apache através de ganchos?


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.