Apache mit LDAP basierend auf Anforderungszeichenfolge dynamisch authentifizieren?

11

Ist es möglich, einen Teil des Anforderungs-URI als Eingabe in die Require ldap-groupDirektive von mod_authnz_ldap zu verwenden ?

Ich versuche, den Zugriff auf eine Reihe verschiedener Projektverzeichnisse unter http://testserver.com/projects/ dynamisch zu überprüfen , sodass ein Benutzer, auf /projects/abcden zugegriffen wird, auf Mitgliedschaft überprüft wird cn=abc,ou=groups,dc=test. Idealerweise möchte ich dies tun, ohne für jedes Projekt eine eigene Standortrichtlinie zu erstellen, da es durchaus Hunderte davon geben könnte.

Ich habe mir das ausgedacht, das das allgemeine Konzept veranschaulicht, aber nicht funktioniert (Projektname ruft den tatsächlichen Inhalt der Variablen nicht ab):

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

Hilfe?

Chris
quelle
Nicht möglich. Am besten probieren Sie etwas wie mod_auth_external aus .
h0tw1r3

Antworten:

0

Ich glaube, Apache 2.4 hat in diesem Bereich mehr zu bieten als 2.2 ... könnte einen Blick wert sein.

Alternativ kann es sich lohnen, ein eigenes benutzerdefiniertes Modul zu erstellen. Es ist nicht so beängstigend, wie es scheint - vorausgesetzt, Sie fühlen sich in C wohl.

Bietet mod_perl nicht viel, um Apache über Hooks zu erweitern?

Cameron Kerr
quelle