Невозможно записать на подключенный диск с помощью олицетворения

В основном у меня та же проблема, что и в этом постеДоступ к подключенным дискам при олицетворении в ASP.NET

Я работаю над устаревшим веб-сайтом, и мне нужно разрешить администраторам изменять логотип сайта, баннеры и т. Д. С файла изображения на своих рабочих столах на подключенный диск на сервере.

Таким образом, их сайт использует олицетворение всякий раз, когда ему нужно сэкономить на диске, и он работает просто отлично; однако мне не удается заставить его работать ни в их тестовой среде, ни в моей тестовой среде.

Есть идеи? Я дважды проверил имя пользователя и пароль (код не указывает домен), и это не проблема.

Вот выдержка из кода, который обрабатывает олицетворение:

public bool ImpersonateUser(String user, String password, String domain)
{
    WindowsIdentity tempWindowsIdentity;
    IntPtr token = IntPtr.Zero;
    IntPtr tokenDuplicate = IntPtr.Zero;

    if (RevertToSelf())
    {
        if (LogonUserA(user, domain, password, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, ref token) != 0)
        {
            if (DuplicateToken(token, 2, ref tokenDuplicate) != 0)
            {
                tempWindowsIdentity = new WindowsIdentity(tokenDuplicate);
                impersonationContext = tempWindowsIdentity.Impersonate();
                if (impersonationContext != null)
                {
                    CloseHandle(token);
                    CloseHandle(tokenDuplicate);
                    return true;
                }
            }
        }
    }
    //... rest of the code

И -санитизированный тест:

if (impUtility.ImpersonateUser("user", "password", string.Empty))
{
    fu.SaveAs(@"C:\Images\" + imgName);
}

Ответы на вопрос(1)

Ваш ответ на вопрос