В настоящее время я работаю с Apache и SVN с аутентификацией ActiveDirectory. Пользователь использует клиент TortoiseSVN.
Я должен отметить, что у меня есть 2 репозитория с одинаковым именем и разным отображением, но перенаправленные на один и тот же «URL-адрес пользователя», поскольку разрешения одинаковы для обоих репозиториев.
например 'http: // mysrvr / svn / foo / bar / corge' и 'http: // mysrvr / svn / foo / corge'
или 'http: // mysrvr / svn / foo / bar / corge и' 'http: // mysrvr / svn / foo / grault / corge'
Эти 2 репо дублируются 8 «парами репо», а остальные 7 работают нормально.
Вот моя ошибка:
Ошибка фиксации (подробности см. Ниже):
доступ к '/ svn / myDir / MYREPO /! svn / act / 65bf494c-a66a-4f45-870e-d988f691a45d' запрещен
Законченный!
Это не разрешения, поскольку у пользователя foobar есть доступ rw и он успешно проверил репозиторий. Эта ошибка возникает при фиксации.
Вещи, которые помогут сориентироваться в точном решении:
Остальные пары репо в порядке. И разрешения такие же. Мой пользователь-администратор svn может делать это на том же локальном ПК, что и проблемный пользователь, совершивший фиксацию. URL-адрес в верхнем / нижнем регистре не является проблемой, я проверил, что NTLM и Active Directory не проблема, поскольку у него есть доступ к другому репо с тем же файлом разрешений. Другие пользователи того же репо экспериментируют с той же проблемой. Пока я могу делать коммит на их локальных ПК. (как если бы у них не было разрешения на запись) Вот журналы Apache:
Apache error.log
[дд мм 12:38:02 2011] [ошибка] [клиент 10.x.x.x] Доступ запрещен: 'foobar' MKACTIVITY MYREPO:
[дд мм 12:39:40 2011] [ошибка] [клиент 10.x.x.x] Доступ запрещен: 'foobar' MKACTIVITY MYREPO:
[дд мм 12:39:54 2011] [ошибка] [клиент 10.x.x.x] Доступ запрещен: 'foobar' MKACTIVITY MYREPO:
Apache access.log
10.x.x.x - foobar [дд / ммм / гг: 12: 38: 02 GMT] "OPTIONS / svn / myDir / MYREPO HTTP / 1.1" 200 198
10.x.x.x - foobar [дд / ммм / гг: 12: 38: 02 GMT] "PROPFIND / svn / myDir / MYREPO HTTP / 1.1" 207 667
10.x.x.x - foobar [dd / mmm / yy: 12: 38: 02 GMT] "MKACTIVITY / svn / myDir / MYREPO /! Svn / act / 65bf494c-a66a-4f45-870e-d988f691a45d HTTP / 1.1" 403 266
svn_activity.log
[дд / ммм / гг: 12: 34: 20 -0300] waldo commit r2
[дд / ммм / гг: 12: 39: 07 -0300] fred status / src / trunk r1447
Из svn_activity.log я могу сделать вывод, что Apache улавливает и отклоняет доступ, учитывая, что доступ к foobar во временные рамки, указанные ранее, отсутствуют.
Итак, надеюсь, что собранные мной данные помогут решить эту проблему ... есть идеи?
P.S. Это выглядит как эта ссылка но у меня есть больше данных. :)
Журнал svn_activity находится на более высоком уровне и обычно не так хорош для отладки этих проблем, как HTTP-методы более низкого уровня, например МКАКТИВНОСТЬ. 403 означает запрещено, обычно это связано с файлом доступа authz, но также может исходить из правил в конфигурации apache. Если вы можете прикрепить конфигурацию apache для проблемного репозитория и файл authz, мы, вероятно, сможем это выяснить.
Найдите такую директиву в своих файлах конфигурации:
AuthzSVNAccessFile /data/authz