Требовать членства более чем в одной группе в Apache

Я хотел бы иметь возможность сделать это:

<LocationMatch ^/secret/(.+?)>
  <Limit GET>
    Require group member
  </Limit>
  <LimitExcept GET>
    Require group member
    Require group contributor
  </LimitExcept>
</LocationMatch>

"Требовать группу" позволяет предлагать множество групп, которые рассматриваются с ИЛИ; Мне нужно какое-то И Кажется, что " Удовлетворить все" влияет только на "Требовать" при использовании с "Разрешить".

Есть ли способ контролировать членство в группе с помощью Require / AND?

(Я должен отметить, что мы используем Perl-модуль Atlassian Crowd в качестве поставщика групп, поэтому, если это возможно реализовать в обработчике, это тоже будет работать.)

1 ответ

Решение

Это ограничение базовой аутентификации. Это просто:) Хотя это не дает прямого ответа на ваш вопрос, я предложу, что если у вас есть каталог LDAP для управления людьми, вы можете сделать что-то вроде "Require Filter (|(memberof=group1DN)(memberof=group2DN))" из mod_authz_ldap, который будет проходить, если пользователь был членом какой-либо из этих групп. Вы имеете больший контроль над этим, но очевидно, что это потребует гораздо больше настроек, чем базовый фильтр. ОЧЕНЬ больше, если у вас нет пользователей в LDAP.

Другие вопросы по тегам