我看过这个问题的答案 Retrieve Credentials from Windows Credentials Store using C# ,它使用CredentialManagement NuGet包在Windows上获取和设置凭据。
Credential Management包是Windows Credential Management API的包装器,它支持新旧UI样式
我能够以这种方式设置新凭据,但是它们被设置为通用凭据。
public static bool SetCredentials(
string target, string username, string password, PersistanceType persistenceType)
{
return new Credential
{
Target = target,
Username = username,
Password = password,
PersistanceType = persistenceType
}.Save();
}
根据this,Windows凭据管理器可以使用至少4种不同类型的凭据:
我需要设置的凭据旨在允许访问特定的本地Web服务器,当我将其作为 Windows凭据手动添加时,它们可以正常工作,当它们被添加为 Generic时应用程序或我自己的凭据,它们不起作用。
我找不到有关此here的足够信息,因此我需要知道的是如何使用此软件包将Windows凭据添加到Windows凭据管理器,或者以其他任何可以通过编程方式完成的方式
更新:我设法按照这个问题显示的方式解决了我的问题:C# Using CredWrite to Access C$。但是,既然我也不想在这里回答同样的问题,我会保留问题,以防有人知道如何以不同的方式做到这一点,否则我会投票决定关闭它。
更新2:虽然在上次更新发布时,找到的解决方案正在运行,但现在无法正常工作。所以我仍在寻找一种方法来彻底解决这个问题。我确信以前的链接对其他人来说仍然有用。