2

我在 Windows XP 上运行 TortoiseHg。我启用了 mercurial_keyring 扩展。

通过 mercurial_keyring 扩展存储密码后,有什么方法可以删除它?

一个典型的用例是:

用户 A 对远程存储库没有推送权限。位于同一地点的用户 B 确实具有推送权限。用户 B 在用户 A 的机器上输入他的用户名和密码以允许推送发生。

如何从用户 A 的机器中删除用户 B 的凭据?

4

4 回答 4

6

Win32 API 调用 CredRead 和 CredWrite 用于保存到密钥环。换句话说,mercurial_keyring 正在保存您可以使用 Windows凭据管理器(Win7) 管理的凭据,对于XP,它将是Run-rundll32.exe keymgr.dll, KRShowKeyMgr

从另一边_

密码由用户名和远程地址的组合识别

因此,如果 UserB 的 hg-username 不是公开的,则 UserA 将不会获得权限提升

于 2012-11-08T11:57:39.870 回答
3

在 Windows 7 上,您可以按照此处的说明进行操作(控制面板 -> 用户帐户和家庭安全 -> 凭据管理器,然后删除显示“Mercurial”的所有内容)。

于 2014-07-02T14:25:37.397 回答
2

在这种情况下,我可能会在推送之前禁用扩展,当然很容易忘记它。

有一些方法可以清除密码是合理的期望,我会考虑添加。要遵循的问题:https ://bitbucket.org/Mekk/mercurial_keyring/issue/45/some-way-to-clear-password-and-maybe

更新这是自 mercurial keyring 1.1.0(2015 年 11 月发布)以来实施的,mercurial keyring 现在带来

hg keyring_clear «path»

清除密码的命令。它不如使用 GUI 工具可爱,但适用于任何密码后端(并且使用完全相同的 API 用于保存密码和相同的逻辑来选择正确的后端)。

于 2015-01-09T20:36:14.267 回答
1

在 Windows 8 和 10 上是:

控制面板 > 用户帐户 > 凭据管理器 > Windows 凭据。

于 2014-07-10T19:53:23.037 回答