Рейтинг:0

Как правильно упорядочить параметры аутентификации в Apache по местоположению?

флаг cn

Требуемый порядок:

  1. Базовая аутентификация — ЕСЛИ Авторизация есть в шапке
  2. SAML-аутентификация
  3. Для 2 конкретный места, без авторизации

Это то, что у меня есть, но оно, похоже, не работает правильно

<Location "/">
   AuthType Basic
   AuthBasicProvider ldap
   ...

   <If "-z req('Authorization')">
      AuthType Mellon
      MellonEnable auth
      MellonEndpointPath /mellon/
      ...
   </If>
</Location>

<LocationMatch "^/(notifyCommit|shuttingDown)/">
   AuthType None
   Allow from all
   Satisfy any
   Require all granted
</LocationMatch>

Однако каждый раз, когда я пытаюсь получить доступ к любому из двух мест, где аутентификация не требуется (notifyCommit или shutdownDown), я получаю ошибку 401.

Что я здесь делаю неправильно? у меня сложилось впечатление, что Место расположения и LocationMatch объединены вместе, и порядок сверху вниз.Если это правда, он должен сначала оценить «/» и увидеть, что требуется аутентификация, но затем найти раздел сопоставления местоположения и увидеть, что аутентификация не требуется для /notifyCommit/ или /shuttingDown/.

Я рассмотрел несколько других связанных вопросов и перепробовал множество вариантов, но ни один из них, похоже, не работал, включая перемещение совпадения местоположения перед разделом местоположения и SetEnvFf Request_URI ....

РЕДАКТИРОВАТЬ

  1. Для двух местоположений, где аутентификация не требуется, имя пользователя или пароль не требуются. По сути, это анонимный доступ.
  2. Раздел условной аутентификации SAML/Basic работает нормально.
флаг ng
Я не уверен, но, может быть, заглянуть в директиву AuthMerging!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.