Исключение проверки подлинности VisualSVN - PullRequest
0 голосов
/ 13 февраля 2019

Я перешел из размещенных в Apache 2.2 репозиториев Subversion в VisualSVN (v3.9.2 с Apache 2.4) с аутентификацией Windows (базовая версия).Это новая настройка, без обновления, и после импорта репозиториев я могу оформить заказ, обновить и зафиксировать просто отлично.Также работает доступ к веб-интерфейсу через браузер (требуются имя и пароль).

Теперь я хочу исключить pdf-файлы из-за необходимости аутентификации, чтобы любой, кто знает правильный URL-адрес, мог просматривать их с помощью браузера..

В старой настройке я добавил этот раздел местоположения:

<LocationMatch ^.+\.[pP][dD][fF](\?[pr]=\d+)*$>
    AuthType None   
    Allow from all
    Satisfy Any   
    Require all granted
</LocationMatch>

Удаление директив Allow.../Satisfy..., поскольку они больше не поддерживаются, позволяет мне запустить сервер, но выдает код ошибки 500при доступе к файлам pdf.

Если у меня есть только директива Require all granted, она все равно запрашивает имя и пароль.

После некоторых исследований и сравнения с автоматически сгенерированным httpd.conf я добавилнекоторые опции и пробовали разные комбинации из них, но ни одна из них не работала:

<LocationMatch "^.+\.[pP][dD][fF]\/?(\?[pr]=\d+)?$">
  AuthType None
  AuthMerging Or
  SVNPathAuthz off
  AuthzVisualSVNAuthoritative off
  SVNOverrideAll on
  Require all granted
</LocationMatch>

Если я перехожу браузер в папку внутри репозитория и вводю учетные данные, а только затем перехожу к PDF-файлу, который работает.Только если я открою ссылку на файл pdf без предварительной аутентификации, я получу ошибку сервера.На сервере журнал событий показывает следующее сообщение об ошибке:

AH00027: No authentication done but request not allowed without authentication for /svn/Test/trunk/test.pdf. Authentication not configured?
[client 10.1.1.254]

При более высоком уровне регистрации для сервера apache у меня была эта информация при доступе в pdf:

AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
AH01626: authorization result of Require all granted: granted
AH01626: authorization result of <RequireAny>: granted
AH01626: authorization result of AuthMerging Any: granted

Так что кажетсякак Apache предоставляет доступ, но VisualSVN все еще требует аутентификации.

Кто-нибудь сделал что-то подобное и нашел решение?

...