【问题标题】:Asp.net FileUploader doesn't work when using UNC file path使用 UNC 文件路径时,Asp.net FileUploader 不起作用
【发布时间】:2010-10-10 09:08:18
【问题描述】:

首先让我说,我不是 Windows 文件权限方面的专家,所以也许我在这里缺少一些非常基本的东西。

我有一个 Asp.net FileUploader 控件。我在 Asp.net 应用程序所在的计算机上有一个文件夹,我希望将文件上传到。

我希望能够告诉 FileUploader 将文件放入

\\thisMachineName\UploadFolder\

但我总是收到一个异常,指出对该路径的访问被拒绝。

如果我将目录更改为

c:\UploadFolder\

它工作正常。另外,我可以把上面的 UNC 放到 windows 资源管理器中,它确实映射到了目录。

有什么想法或想法吗?

--更新说明:这是一个Windows 2000服务器盒子,文件夹有“Everyone”授予所有可能的允许权限。

【问题讨论】:

    标签: asp.net permissions file-upload path


    【解决方案1】:

    除了威尔的回答。

    我必须授予 NETWORK 帐户而不是 NETWORK SERVICE 帐户的权限。

    在共享文件夹的安全选项卡中,将NETWORK 添加为新用户并授予所需权限。

    【讨论】:

      【解决方案2】:

      我经常看到人们做的一件事是他们没有设置共享权限。要设置共享文件夹,您必须执行以下操作:

      1) 确定您将在哪个帐户下连接到共享
      2) 授予此帐户对文件系统的访问权限
      3) 授予此帐户对网络文件共享的访问权限

      没有。 1,在这种情况下,通常意味着检查您的配置或简单地使用进程资源管理器来确定 ASP.NET 在哪个帐户下运行。谷歌上有很多关于如何做到这一点的信息。

      没有。 2是显而易见的。您登录存在物理驱动器的计算机,浏览到资源管理器中的文件夹,右键单击它并点击安全选项卡。我们已经这样做了无数次。

      没有。三是人们搞砸的地方。是的,工作人员帐户现在有权访问本地文件系统,但不能通过网络连接到本地文件系统。从安全选项卡跳回网络共享选项卡并查找权限按钮。您将使用它来授予工作人员帐户连接到共享的权限。

      我看到的第二个问题是当人们试图将机器 A 上的访问权限授予仅存在于机器 B 上的帐户时。这通常是行不通的。机器 A 和机器 B 都必须属于 A 和 B 都信任的公共域以验证用户身份。大多数情况下,运行 Windows 的企业使用 ActiveDomain 来控制网络上的访问权限。

      为了让机器 B 上的 ASP.NET 工作进程访问机器 A 上的共享,工作进程必须在网络上经过身份验证的帐户下运行,而不仅仅是本地机器。大多数情况下,您必须在网络上创建一个特定帐户并将该帐户权限授予两台计算机,然后使用该帐户为您的网站运行 ASP.NET 工作进程。

      如果您摸不着头脑,那么您需要学习一些东西。这东西不容易。我强烈建议阅读以下内容:

      http://msdn.microsoft.com/en-us/library/ms978378.aspx

      它相对清晰,包含你需要知道的一切。

      【讨论】:

      • 非常感谢威尔!我不知道当您使用 UNC(即使在我的情况下它指的是本地计算机)时,除了文件夹的正常权限外,它还会通过此网络共享安全性内容。我授予 ASPNET 用户对共享的读/写访问权限,现在一切都很顺利。
      【解决方案3】:

      您可以将文件放在该目录中,但是运行 ASP.NET 进程的用户呢?在 Windows Server 2003(可能是 2008,但我不确定)上,ASP.NET 在 NETWORK SERVICE 帐户下运行,该帐户几乎没有任何权限,尤其是在网络上。您必须在 ASP.NET 应用程序上使用模拟或设置具有所有人访问权限的共享。对于这种类型的场景,我通常只是设置一个所有人都可以访问的共享,并使用防火墙对其进行保护,因此只有 Web 服务器可以访问。

      【讨论】:

      • 感谢克里斯的回复。我在帖子中添加了更新说明,因为我忘记包含这是一个 2k 服务器框,以及我对 UploadFolder 的权限。我刚刚尝试授予“网络服务”完全权限,但仍然收到拒绝访问错误。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 2011-08-07
      • 1970-01-01
      • 2021-12-11
      • 1970-01-01
      相关资源
      最近更新 更多