.NET Directory.CreateDirectory выбрасывает UnauthorizedAccessException;Пользователь может создать каталог с помощью проводника Windows - PullRequest
0 голосов
/ 05 октября 2018

Эта проблема возникает только для одного пользователя при попытке создать каталог;код работает для всех пользователей системы, кроме одного.

Каждый пользователь приложения имеет стандартную учетную запись AD и учетную запись с повышенными разрешениями - приложение олицетворяет свою учетную запись с повышенными разрешениями при создании каталога.

Развернутая версия кода будет выглядеть так:

using (Impersonation.LogonUser(domain, elevatedAccountUsername, elevatedAccountPassword, LogonType.Interactive))
{
    try
    {
        Directory.CreateDirectory(newDirectoryPath);
    }
    catch (UnauthorizedAccessException ex)
    {
        return Result.CreateFailure($"{ex.GetType()}, {ex.Message}, {ex.HResult}");
    }
}

Этот пользователь получает:

Доступ к пути '\\ network \ share \ new_directory'запрещено.

Однако при использовании Проводника Windows под своей учетной записью с повышенными правами пользователь может создавать и удалять каталоги на общем сетевом ресурсе без проблем.

Моя интуиция говорит мне, что этопроблема с разрешениями, почему это повлияет только на программный вызов?

Edit # 1 : Это приложение Windows Forms.Мне также удалось воссоздать проблему в консольном приложении.

...