У меня есть требование изменить аутентификацию Apache 2.4, чтобы наиболее пользователи могут получить доступ к веб-сайту из любого места, но некоторым пользователям (которых можно идентифицировать несколькими способами, но проще всего использовать группу LDAP) может быть разрешен доступ только из подсети с определенным IP-адресом. (Аутентификация осуществляется через модуль OIDC и группы ldap.)
(упрощенная версия того, что) текущая конфигурация Apache
<RequireAll>
<RequireAny>
Require valid-user
Require claim aud:apache123.company.com
</RequireAny>
Require ldap-attribute companyMemberOf="ALL_USERS_OF_THIS_TOOL"
</RequireAll>
Я не уверен, как лучше всего реализовать это отрицательное предложение для определенной группы.
Мне пришлось использовать обходной путь обсуждалось здесь с манекеном Требовать все предоставленные
оговорка, чтобы избежать Директива RequireAll содержит только директивы отрицательной авторизации.
ошибка.
Я думаю, что добавление этого сделает это, но я был бы признателен за обратную связь. Потому что с такими вещами я легко могу представить, как кто-то пишет: «Вы думаете, что это сработает, но это не так, потому что…» или «Да, это работает, но на самом деле это неправильный способ сделать это, потому что… ."
<RequireAny>
<RequireAll>
RequireNone ldap-attribute companyMemberOf="RESTRICTED_GROUP"
# Just to keep Apache happy
Require all granted
</RequireAll>
RequireIp 10.10.0.0/22
</RequireAny>