Ошибка авторизации SVN при доступе к хранилищу - PullRequest
2 голосов
/ 05 марта 2012

Это скорее вопрос конфигурации, чем вопрос программирования. Если есть лучшее место для публикации, перенаправьте меня.

Я получаю ошибку авторизации при попытке импортировать проект с помощью TortoiseSVN. Я контролирую клиента (мой компьютер) и репозиторий SVN (другой компьютер в сети без маршрутизации). Клиент и сервер находятся в Windows 7. Существует Active Directory (которой я не управляю) для проверки имен пользователей и паролей. Я могу войти как на клиент, так и на сервер.

Сервер работает как svnserve в качестве службы Windows. У меня есть два репозитория на сервере, один в c:\repositories\repo1, который является зеркалом другого репозитория. Он обновляет и svnsync и работает просто отлично. Второй - c:\repositories\repo2 и должен быть репозиторием для тестирования интеграции. Я не успешно написал в этот второй репозиторий.

Я использую URL svn://<pc_name>/repo2/ в качестве корня для импорта. Когда я щелкаю правой кнопкой мыши по папке проекта на моем клиенте и захожу в Tortoise Import, я добавляю svn://<pc_name>/repo2/project1 в качестве URL.

На сервере у меня в <repo2_folder>conf/svnserve.conf:

anon-access = write
auth-access = write
password-db = passwd
authz-db = authz

(я тоже пробовал anon-access = read.) В passwd у меня есть имя пользователя и пароль. В authz у меня есть:

[repository:/repo1]
* = r

[repository:/repo2]
<username>= rw

Я перепробовал каждую комбинацию, которую могу придумать, и все равно получаю ошибку авторизации. Есть идеи?

EDIT:

Это не имеет ничего общего с TortoiseSVN. Я могу получить ту же проблему без него:

C:\>svn list svn://pc0000/repo2 --username ksnortum --password xxxxxxxxx
svn: Authorization failed

1 Ответ

0 голосов
/ 07 марта 2012

Вы должны установить anon-access = none. Вы НЕ хотите разрешать анонимный доступ. С вашими настройками ваш сервер никогда не будет запрашивать учетные данные, и поэтому ваши правила доступа никогда не будут выполнены.

Несмотря на то, что вы можете указать учетные данные в командной строке, клиент не может «отправить» учетные данные на сервер. Он будет использовать эти учетные данные только в том случае, если сервер вызовет его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...