有一个相关问题,答案如下:apache auth:LDAP 和 htpasswd 的组合但我想进一步阐述这一点。
如果用户在 htpasswd 文件中或者在 LDAP 中并且属于有效组的成员,我希望允许用户访问。
因此,Require valid-user
从另一个问题来看,这并不足够严格,因为它允许任何人来自 LDAP。
答案1
通过有效的 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-group,如下所示:
Require ldap-filter &(memberof=cn=Administrators,o=Airius)
..这对于生成复杂的基于属性的需求最有用:
Require ldap-filter &(eduPersonPrimaryAffiliation=*Staff)(objectClass=eduPrincipal)
感谢评论者@james-yale 给出最相关的答案。
答案2
require group X
,其中X
是 LDAP 组,然后另外使用AuthGroupFile
定义X
其中包含所有本地用户的组。
(注意:未经测试。)
答案3
也可以使用不同的组,但通过 进行身份验证的用户AuthUserFile
也需要具有组成员身份(通过AuthGroupFile
)。然后您可以使用类似以下内容:
<RequireAny>
Require Group tehLDAPGroup
Require Group tehAuthUserGroup
</RequireAny>