Il est possible d'utiliser une partie de l'URI de la demande comme entrée dans la Require ldap-group
directive de mod_authnz_ldap ?
J'essaie de vérifier dynamiquement l'accès à un tas de répertoires de projets différents, tous sous http://testserver.com/projects/ , de sorte qu'un utilisateur accédant /projects/abc
serait vérifié pour l'adhésion à cn=abc,ou=groups,dc=test
. Idéalement, je voudrais le faire sans créer de directive d'emplacement distincte pour chaque projet, car il pourrait bien y en avoir des centaines.
J'ai trouvé cela, qui illustre le concept général, mais qui ne fonctionne pas (nom_projet ne récupère pas le contenu réel de la variable):
<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>
Aidez-moi?
Réponses:
Je crois qu'Apache 2.4 a plus à offrir dans ce domaine que 2.2 ... pourrait valoir la peine d'être examiné.
Alternativement, il peut être intéressant de créer votre propre module personnalisé; ce n'est pas aussi effrayant qu'il n'y paraît - en supposant que vous êtes à l'aise en C.
De même, mod_perl n'offre-t-il pas beaucoup pour étendre Apache via des hooks?
la source
Vous pouvez essayer d'ajouter un filtre au paramètre AuthLDAPURL: https://httpd.apache.org/docs/2.4/en/mod/mod_authnz_ldap.html#authldapurl
Peut-être quelque chose comme:
la source