如何在TortoiseSVN中切换用户

318

我正在为另一个用户设置我们的SVN代码库访问权限。他没有自己的用户名和密码,所以我使用我的凭据进行了登录。现在我们有了他的用户名和密码。

我应该如何让TortoiseSVN退出登录并忘记旧密码,以便我可以输入新的用户名和密码?

6个回答

467
  1. 打开 Windows 资源管理器。
  2. 在窗口中任意右键单击。
  3. 点击 TortoiseSVN → 设置
  4. 点击 已保存数据
  5. 认证数据 旁边点击 清除(参见下图)。
  6. 选中要清除的认证项目。
  7. 点击 确定

所有项目的已保存认证数据都将被删除。

您需要重新输入凭据来重新连接。

清除按钮


10
我正在使用 Windows 7 上的 Tortoise SVN 客户端。对于我这种情况,在“保存的数据”选项卡中,身份验证数据的“清除”按钮是禁用的,因此删除缓存文件的解决方案对我很有效。 - M. Atif Riaz
谢谢!Tortoise团队应该将这几层提升到表面,作为专业的账户管理模块供极客使用。 - user5248982

48

有几种方法可以实现,通过设置或删除缓存。

删除缓存是最通用的方法。首先,需要找到它:

在XP上,它位于这里:

C:\Documents and Settings\%USER%\Application Data\Subversion\auth\svn.simple\

在Vista系统上,它位于这里:

C:\Users\%USER%\AppData\Roaming\Subversion\auth\svn.simple\

接着使用记事本查找那些文件,并删除包含你凭证的文件。


24
"%APPDATA%\Subversion\auth\svn.simple" 应该在任何地方(XP、Vista、7)都能使用。 - jplandrain
3
在我的情况下,我找不到一个描述svn.simple领域的文件。相反,我在svn.ssl.server中找到了它;通过删除它,我必须接受证书,但足够提示凭据。 - Paul Lammertsma
我刚刚使用了这个方法,而且它完美无缺地运行了。 - Rob Lyndon
在我的情况下,清除保存的数据并没有起到帮助作用 - TortoiseSVN 之后仍然要求我输入用户名和密码,并且它保存并验证了但是仍然在日志中放置了先前的用户名。当我删除文件,实际上重命名了 auth 文件夹时 - 一切都正常工作了。 - Nik Todorov
如果您想获取用户名,这将非常有用。 - holzkohlengrill

12

如果你想要删除一个已保存的密码,例如针对 "user1":

  • 前往已保存密码的目录 (*c:\Users\USERNAME\AppData\Roaming\Subversion\auth\svn.simple\*)
  • 在这个文件夹中会找到几个文件(以哈希值命名)
  • 找到包含你想要更改的用户名 "user1" 的文件 (使用记事本打开它)
  • 移除这个文件。
  • 下次连接到 SVN 服务器时,Tortoise 将提示你输入新的用户名和密码。

6
当您使用集成的Windows身份验证(即Active Directory单一登录)时,您会自动使用AD凭据对AD资源进行身份验证。您已经登录到AD并且这些凭据会自动重复使用。因此,如果您的服务器启用了IWA(例如VisualSVN Server),服务器不会要求您输入用户名和密码,传递--username--password也无效,SVN客户端也不会将您的凭据缓存到磁盘上。 当您想要更改用于联系服务器的用户帐户时,您需要在客户端上使用Windows凭据管理器。当您的计算机未加入域并且需要存储AD凭据以访问域资源时,这也很有帮助。 按照以下步骤将用户的域凭据保存到用户计算机上的Windows凭据管理器中:
  1. 在客户端电脑上启动控制面板|凭据管理器
  2. 单击添加Windows凭据
  3. Internet或网络地址中输入服务器机器的FQDN(例如,svn.example.com)。
  4. 用户名中以DOMAIN\Username格式输入您的域帐户用户名。
  5. 填写密码字段并单击确定

现在,当您联系https://svn.example.com/svn/MyRepo或类似的URL时,客户端或Web浏览器将使用保存在凭据管理器中的凭据来对服务器进行身份验证。

enter image description here


4

谢谢@Patrick,你救了我几个小时的生产损失。我的凭据确实被Windows存储了。删除存储的凭据解决了问题。 - SteveJ

-2

替换htpasswd文件中的行:

进入:http://www.htaccesstools.com/htpasswd-generator-windows/

(如果链接已过期,请从google.com搜索另一个生成器。)

输入您的用户名和密码。该网站将生成一条加密行。将该行复制并替换文件“repo / htpasswd”中的上一行。

您还可能需要从TortoiseSVN →设置→保存的数据中清除“身份验证数据”。


1
为什么应该在服务器上更改文件中的一行以删除本地机器上的凭据? - Nico Haase

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,