Dimungkinkan untuk menggunakan sebagian dari permintaan URI sebagai masukan ke Require ldap-group
direktif mod_authnz_ldap ?
Saya mencoba secara dinamis memeriksa akses ke banyak direktori proyek yang berbeda, semua di bawah http://testserver.com/projects/ , sehingga pengguna yang mengakses /projects/abc
akan diperiksa untuk keanggotaan cn=abc,ou=groups,dc=test
. Idealnya saya ingin melakukan ini tanpa membuat arahan Lokasi terpisah untuk setiap proyek, karena mungkin ada ratusan dari mereka.
Saya telah datang dengan ini, yang menggambarkan konsep umum, tetapi yang tidak berfungsi (project_name tidak menarik kembali konten variabel yang sebenarnya):
<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>
Tolong?
Jawaban:
Saya percaya Apache 2.4 memiliki lebih banyak untuk ditawarkan di bidang ini daripada 2.2 ... mungkin layak dilihat.
Atau, mungkin layak melihat membangun modul kustom Anda sendiri; itu tidak seseram kelihatannya - dengan asumsi Anda nyaman di C.
Demikian pula, bukankah mod_perl menawarkan banyak hal untuk memperluas Apache melalui pengait?
sumber
Anda dapat mencoba menambahkan filter ke parameter AuthLDAPURL: https://httpd.apache.org/docs/2.4/en/mod/mod_authnz_ldap.html#authldapurl
Mungkin sesuatu seperti:
sumber