Как хранить несколько учетных данных под одним именем пользователя с помощью API менеджера учетных данных C#?

Я пытаюсь сохранить более 1 имени пользователя и пароля для каждой цели. Проблема заключается в том, что каждый раз, когда добавляются новые учетные данные с тем же именем пользователя, но разные цели и пароли, другие учетные данные с тем же именем пользователя удаляются.

У меня вопрос, как хранить несколько имен пользователей и паролей под одной и той же целью?

public class PasswordRepository
{
    public string username;
    public string temp;
    LoggedIn li = new LoggedIn();
    public void SavePassword(string password, string PasswordName)
    {
        using (var cred = new Credential())
        {
            cred.Password = password;
            cred.Target = username;
            cred.Username = PasswordName;
            cred.Type = CredentialType.Generic;
            cred.PersistanceType = PersistanceType.LocalComputer;
            cred.Save();
        }
        temp = "";
    }

    public string GetPassword()
    {
        using (var cred = new Credential())
        {
            cred.Target = username;
            cred.Load();
            Debug.WriteLine(cred.Password +"    "+cred.Username);
            temp = cred.Password;
            return cred.Password;
        }
    }
}

https://www.nuget.org/packages/CredentialManagement/

1 ответ

Вы можете добиться этого с помощью CredentialCache

CredentialCache cache = new CredentialCache();
cache.Add(New Uri(myProxy.Url), "NTLM", New NetworkCredential("UserName", "Password", "Domain"))

MSDN

Другие вопросы по тегам