Autenticare dinamicamente Apache con LDAP in base alla stringa di richiesta?


11

È possibile utilizzare una parte dell'URI della richiesta come input nella Require ldap-groupdirettiva mod_authnz_ldap ?

Sto provando a controllare dinamicamente l'accesso a una serie di diverse directory di progetto, tutte in http://testserver.com/projects/ , in modo tale che un utente che accede /projects/abcverrebbe verificato per l'appartenenza cn=abc,ou=groups,dc=test. Idealmente, vorrei farlo senza creare una direttiva sulla posizione separata per ciascun progetto, poiché potrebbero essercene centinaia.

Ho escogitato questo, che illustra il concetto generale, ma che non funziona (project_name non recupera il contenuto della variabile effettiva):

<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>

Aiuto?


Non possibile. La tua scommessa migliore è provare qualcosa come mod_auth_external .
h0tw1r3,

Risposte:


0

Credo che Apache 2.4 abbia molto di più da offrire in questo settore rispetto a 2.2 ... potrebbe valere la pena di guardarlo.

In alternativa, può valere la pena guardare alla creazione del proprio modulo personalizzato; non è così spaventoso come sembra - supponendo che tu ti senta a tuo agio in C.

Allo stesso modo, mod_perl non offre molto nell'estensione di Apache tramite hook?


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.