Apache HTTPD:允许htpasswd或LDAP中的用户使用特定的组

在apache auth中有一个相关的问题:LDAP和htpasswd的组合,但是我想扩展一下。

我想要允许用户在htpasswd文件中,或者他们在LDAP和有效组的成员。

因此, Require valid-user来自另一个问题的Require valid-user不够严格,因为它将允许来自LDAP的任何人。

使用有效的AuthnzLDAP设置,可以要求ldap-group,如下所示:

  Require ldap-group cn=Administrators, o=Airius 

请参阅http://httpd.apache.org/docs/current/mod/mod_authnz_ldap.html#reqgroup以供参考。

值得注意的是,你也可以要求ldap-dn,ldap-attribute,甚至ldap-filter。 后者也可以用来需要一个ldap组,像这样:

  Require ldap-filter &(memberof=cn=Administrators,o=Airius) 

..这对于生成复杂的基于属性的需求是最有用的:

  Require ldap-filter &(eduPersonPrimaryAffiliation=*Staff)(objectClass=eduPrincipal) 

谢谢,评论@詹姆斯 – 耶鲁最相关的答案..

require group X ,其中X是LDAP组,然后另外使用一个AuthGroupFile来定义组X以及其中的所有本地用户。

(注:未经testing。)

也可以使用不同的组,但通过AuthUserFile进行身份validation的用户也需要具有组成员资格(通过AuthGroupFile )。 那么你可以使用像这样的东西:

 <RequireAny> Require Group tehLDAPGroup Require Group tehAuthUserGroup </RequireAny>