Назад | Перейти на главную страницу

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

Я бы хотел сделать это:

<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.