【问题标题】:Setting up permissions to allow ASP.net code behind to create folders on Server设置权限以允许背后的 ASP.net 代码在服务器上创建文件夹
【发布时间】:2011-12-01 00:03:18
【问题描述】:

我有一个 ASP.net 网站,它允许用户使用第三方 webHTMLEditor 上传图像。我创建了整个文件夹并且编辑器找到了它,但是当我尝试动态创建用户特定的文件夹时,它会抛出“WinIOError。对路径'../common/upload/1'的访问被拒绝。”

我对在服务器端设置权限和 IIS 不是很熟悉,所以我希望有人能告诉我如何让 ASP.net 代码能够创建“../”的编号文件夹部分。公共/上传/1”路径。

我使用的是 Windows Server 2008 和 IIS 7。

【问题讨论】:

  • 我能够从链接的 artical dmarietta 和反复试验中找出答案。事实证明,我需要做两件事,首先是设置 IUSR 帐户以具有写入权限,其次是将用作目录指针的字符串和提供给编辑器的上传目标路径的字符串分开。编辑器正在更改作为上传位置传入的字符串,而没有提供任何反馈。必须喜欢第三方工具...

标签: asp.net iis-7 file-upload directory


【解决方案1】:

您只需要为站点运行的用户上下文设置适当的文件系统级别权限。因此,如果这是一个对随机访问者开放的站点,您将查看您的匿名用户帐户 (IUSR) 的设置。如果您需要用户身份验证,则需要根据他们所属的用户或组来设置权限。请注意,您的文件系统权限与您为网络/机器上的用户配置服务器上的文件访问权限相同。因此,这与 IIS 服务器访问权限不同,因此为确保您没有查看错误的权限,请不要使用 IIS 管理器。

以下文章可能有助于了解一些更具体的细节: http://learn.iis.net/page.aspx/583/secure-content-in-iis-through-file-system-acls/

【讨论】:

  • 不要让匿名用户做这样的事情。
  • @IrishChieftain - 如果在网站上执行的代码需要创建/删除文件夹,这是应用程序工作所必需的,这样做没有任何问题 - 只要它是一个井书面申请。也许应该在上面详细说明这一点,但是如果您不相信您正在编写/安装在服务器上的应用程序使用适当的权限,那么它不应该首先在服务器上使用。
  • 只是说如果写得不好,它可能会导致服务器崩溃;-)
  • 为了让他们在应用程序中走得这么远,他们将成为我们的付费客户,并且客户 ID 由我们设置,因此不会出现重复或类似的情况。这也完全由程序控制,并且该文件夹显然只尝试创建一次。它不像他们可以输入他们想要的任何内容,并且网站正在尝试制作相关文件。我阅读了该链接并将IUSR添加到对相关文件夹具有读/写权限但仍然给我同样的错误的用户列表中。
猜你喜欢
  • 2011-08-08
  • 2013-03-20
  • 2017-09-05
  • 2011-05-07
  • 1970-01-01
  • 2011-02-11
  • 1970-01-01
  • 2015-02-10
  • 1970-01-01
相关资源
最近更新 更多