以编程方式从凭据管理器的Web凭据部分删除任何条目

问题描述 投票:1回答:3

我正在开发WPF桌面应用程序,该应用程序将仅允许FB,Skype,Viber等任何用户使用3个Metro应用程序。用户通过我的应用程序结束会话后,我必须删除该用户用于登录这些应用程序的凭据。我发现这些Metro应用程序将凭据相关信息存储在凭据管理器的“ Web凭据”部分中。我想使用C#以编程方式删除这些输入项,以便任何其他用户通过我的应用程序打开Metro应用程序时,他都会看到登录屏幕。

c# wpf windows-8 credential-manager
3个回答
0
投票

尝试此代码:

        NetworkCredential networkCredential = new NetworkCredential("username", "password");

        WebRequest webRequest = HttpWebRequest.Create("http://www.contoso.com/");
        webRequest.Credentials = networkCredential;

        CredentialCache credentialCache = new CredentialCache();
        credentialCache.Add(new Uri("http://www.contoso.com/"), "Basic", networkCredential);

        webRequest.Credentials = credentialCache;

        credentialCache.Remove(webRequest.RequestUri, "Basic");

0
投票

我想告诉我我用来清除Web凭据的方法。

  1. 从具有管理员权限的应用程序中停止凭据管理器服务。
  2. 删除本地用户的Local \ Microsoft \ Vault中具有扩展名.vcrd和.vsch的所有文件。
  3. 启动凭据管理器服务。

注意:对于Point 2,应用程序必须以特定的用户特权运行,因为每个用户都有自己的配置文件。


0
投票

查看Windows内置的VaultCMD。

© www.soinside.com 2019 - 2024. All rights reserved.