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


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

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

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

версия клиента subversion, которую я использую, - 1.4.6 (r28521)

6 59

6 ответов:

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

  • на Unix, это $HOME/.subversion/auth.

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

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

здесь документация по кэшированию учетных данных, для последних (1.6 на момент написания).

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

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

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

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

мы наконец-то узнали, что используем svn-клиент Cygwin! не "родные" окна. Так... этот клиент хранит все учетные данные проверки подлинности в /домашний пользователь./>subversion / auth

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

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

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

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

%USERPROFILE%\AppData\Roaming\Subversion\auth\svn.просто
(то же, что и ниже)
%APPDATA%\Roaming\Subversion\auth\svn.просто

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

читать 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