根据请求字符串通过LDAP动态认证Apache?


11

是否可以将请求URI的一部分用作mod_authnz_ldap Require ldap-group指令的输入?

我正在尝试动态检查对一堆不同项目目录的访问权限,这些目录都位于http://testserver.com/projects/下,以便/projects/abc将检查用户访问的目录中的成员资格cn=abc,ou=groups,dc=test。理想情况下,我希望在不为每个项目创建单独的Location指令的情况下执行此操作,因为其中可能有数百个。

我想出了这个例子,它说明了一般概念,但是不起作用(project_name不会检索实际的变量内容):

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

Answers:


0

我相信Apache 2.4在这方面的功能比2.2多...可能值得一看。

另外,可能值得考虑构建自己的定制模块。它并没有看上去那么可怕-假设您对C感到满意。

同样,mod_perl在通过钩子扩展Apache方面没有提供很多功能吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.