Где хранит данные аутентификации пользователя SVN?

Я пытаюсь смоделировать проблему с определенным идентификатором домена, который имеет проблемы с доступом к репозиторию subversion. К этому я попробовал svn checkout с option --username domain\problematic_ID на другой машине Windows. Но я не могу воспроизвести проблему, так как проверка еще успешна, используя мой собственный идентификатор. Это заставило меня задуматься о том, что SVN кэширует данные аутентификации пользователя в нескольких местах, и если да, то где.

Я удалил каталог auth в области данных приложения, изменил параметры в файле конфигурации, чтобы отключить кэширование пользовательских данных auth, но безрезультатно. Система даже не запрашивает меня для нового имени пользователя и пароля, но просто проверяет со старым идентификатором. (Я знаю, что это старый идентификатор, используемый при просмотре журналов SVN). Я, очевидно, здесь что-то пропустил, но что?:-(

Кто-нибудь знает?

Используемая версия версии subversion 1.4.6 (r28521)

Ответ 1

Похоже, вы все делаете так, как предполагает раздел учетных данных клиента в книге Subversion. Единственное, о чем я могу думать, это то, что сервер не запрашивает имя пользователя и пароль, потому что получает его откуда-то еще.

Ответ 2

  • В Unix он находится в $HOME/.subversion/auth.

  • В Windows я думаю, что это: %APPDATA%\Subversion\auth.

Ответ 3

Какую версию вы используете?

Вот документация по кэшированию учетных данных, для последней версии (1,6 от написания).

В Windows клиент Subversion хранит пароли в % APPDATA%/Subversion/auth/directory. В Windows 2000 и более поздних стандартные службы криптографии Windows используются для шифрования пароля на диск. Поскольку ключ шифрования управляемый Windows и привязан к пользовательские учетные данные для входа, только пользователь может расшифровать кешированный пароль. (Обратите внимание, что если пользователь Windows пароль учетной записи resetадминистратор, все кэшированные пароли становятся неразборчивыми. Клиент Subversion будет вести себя как хотя их нет, что побуждает пароли, если требуется.)

Кроме того, имейте в виду, что несколько изменений произошло в версии 1.6 относительно хранения паролей.

Ответ 4

Я знаю, что восстаю очень старую тему, но через пару часов, борясь с этой самой проблемой и не найдя решения нигде, я думаю, что это хорошее место для ответа.

У нас есть несколько Build Servers на базе WindowsXP и нашел эту проблему: клиент командной строки svn не кэширует учетные данные auth.

Наконец-то выяснилось, что мы используем клиент Cygwin svn! а не "родной" Windows. Итак... этот клиент хранит все учетные данные auth в /home/ <user> /. Subversion/auth

Этот/домашний каталог в Cygwin, в нашей установке находится в c:\cygwin\home. И: проблема заключалась в том, что пользователь Windows, который работает svn, никогда не "вошел в систему" ​​в Cygwin, и поэтому не было /home/ <user> каталог.

Простой "bash -ls" из командного терминала Windows создал каталог, и после первого доступа к нашему серверу SVN с интерактивным запросом на учетные данные доступа, alás, они были кэшированы.

Итак, если вы используете клиент Cygwin svn, обязательно создайте "домашний" каталог для локального пользователя Windows.

Ответ 5

В Windows вы можете найти его под.

% USERPROFILE%\AppData\Roaming\Subversion\Auth\svn.simple
(то же, что и ниже)
% APPDATA%\Roaming\Subversion\Auth\svn.simple

В этом каталоге может быть несколько файлов, в зависимости от того, какие ресурсы вы вносите. Вы можете считать это как один файл для каждого svn-сервера. Вы можете открыть файл с помощью любого текстового редактора и убедиться, что вы собираетесь удалить правильный файл.

Ответ 6

Прочитайте SVNBook | Учетные данные клиента.

С помощью современного SVN вы можете просто запустить svn auth, чтобы отобразить список кэшированных учетных данных. Не забудьте убедиться, что вы используете обновленную версию клиента SVN, поскольку svn auth была представлена ​​в версии 1.9. В последней строке указывается путь к хранилищу учетных данных, который по умолчанию равен %APPDATA%\Subversion\auth в Windows и ~/.subversion/auth/ в Unix-подобных системах.

PS C:\Users\MyUser> svn auth
------------------------------------------------------------------------
Credential kind: svn.simple
Authentication realm: <https://svn.example.local:443> VisualSVN Server
Password cache: wincrypt
Password: [not shown]
Username: user

Credentials cache in 'C:\Users\MyUser\AppData\Roaming\Subversion' contains 5 credentials