Я бы хотел сделать это:
<LocationMatch ^/secret/(.+?)>
<Limit GET>
Require group member
</Limit>
<LimitExcept GET>
Require group member
Require group contributor
</LimitExcept>
</LocationMatch>
«Требовать группу» позволяет вам предлагать множество групп, которые рассматриваются с помощью ИЛИ; Мне нужно какое-то И. Удовлетворить всех похоже, влияет только на Require при использовании с Allow.
Есть ли способ контролировать членство в группе с помощью Require / AND?
(Я должен отметить, что мы используем модуль Perl Atlassian Crowd в качестве поставщика групп, поэтому, если это возможно реализовать в обработчике, это тоже сработает.)
Это ограничение базовой аутентификации. Это просто :) Хотя это не дает прямого ответа на ваш вопрос, я предлагаю вам, если у вас есть каталог LDAP для управления людьми, вы можете сделать что-то вроде «Требовать фильтр (| (memberof = group1DN) (memberof = group2DN))» из mod_authz_ldap, который прошел бы, если бы пользователь был членом любой из этих групп. У вас больше контроля над ним, но, очевидно, это потребует гораздо большей настройки, чем базовый фильтр. Гораздо больше, если у вас нет пользователей в LDAP.