.NET Directory.CreateDirectory引发UnauthorizedAccessException;用户可以使用Windows资源管理器创建目录

时间:2018-10-05 10:17:45

标签: c# .net permissions directory

仅当尝试创建目录时,一个用户才会遇到此问题;该代码仅适用于系统的所有用户。

应用程序的每个用户都有一个标准的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资源管理器时,用户可以在网络共享上创建和删除目录而没有问题。

我的直觉告诉我这是一个权限问题,为什么它只会影响编程调用?

编辑#1 :这是Windows窗体应用程序。我也设法在控制台应用程序中重新创建了该问题。

0 个答案:

没有答案