Динамічно автентифікувати Apache з LDAP на основі рядка запиту?


11

Можна використовувати частину URI запиту як вхід до Require ldap-groupдирективи mod_authnz_ldap ?

Я намагаюсь динамічно перевіряти доступ до ряду різних каталогів проектів, все під http://testserver.com/projects/ , таким чином, щоб користувач, який отримує доступ, /projects/abcбув би перевірений на членство в cn=abc,ou=groups,dc=test. В ідеалі я хотів би зробити це, не створюючи окремої директиви про розташування для кожного проекту, оскільки їх цілком може бути сотні.

Я придумав це, що ілюструє загальну концепцію, але яка не працює (ім'я проекту не отримує фактичного змінного змісту):

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

Допомога?


Неможливо. Краще всього спробувати щось на зразок mod_auth_external .
h0tw1r3

Відповіді:


0

Я вважаю, що Apache 2.4 може запропонувати більше в цій галузі, ніж 2,2 ... можливо, варто поглянути.

Крім того, можливо, варто поглянути на створення власного спеціального модуля; це не так страшно, як здається - якщо припустити, що вам комфортно в C.

Так само, чи не mod_perl пропонує багато для розширення Apache через гачки?


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.