учетные данные не созданы для олицетворения локального пользователя компьютера - PullRequest
0 голосов
/ 12 октября 2018

Я использую ниже Impersonator класс,

https://www.daoudisamir.com/impersonate-users-in-c/

и вот класс менеджера учетных данных (используя nuget, http://nuget.org/packages/CredentialManagement/)

   public static class CredentialUtil
{
public static UserPass GetCredential(string target)
{
    var cm = new Credential {Target = target};
    if (!cm.Load())
    {
        return null;
    }

    //UserPass is just a class with two string properties for user and pass
    return new UserPass(cm.Username, cm.Password);
}

public static bool SetCredentials(
     string target, string username, string password, PersistanceType persistenceType)
{
   return new Credential {Target = target, Username = username, 
           Password = password, PersistanceType =  persistenceType}.Save();
}

public static bool RemoveCredentials(string target)
{
    return new Credential { Target = target }.Delete();
}

}

Теперь при выполнении приведенного ниже кода учетные данные не создаются для пользователя User1. В чем может быть причина?

 using (new Impersonator("User1", "machine1", "Password1"))
            {
                CredentialUtil.SetCredentials("TestTarget", "TestUser", "TestPassword", PersistanceType.LocalComputer);
            }
...