2009-08-05 122 views
0

我正在处理提供文件(电子商务可下载内容)的应用程序。内容存储在服务器上的Windows文件夹共享中,然后应用程序提供对该文件的访问内容,当用户请求它时。基本上有一个DownloadFile.aspx?fileId = XXXX通过网站共享Windows文件夹安全

无论如何,我有问题获得文件夹的安全权限。每当我导航到页面时,我都会从IIS获得登录/密码提示,询问本地计算机的权限。我需要任何互联网用户能够访问文件(该应用程序处理谁应该能够到达这些文件的安全性)

我试图将添加到每个人以及将其添加到ASPNET用户。没有运气。我仍然得到提示。

有什么建议吗?

编辑:添加一点清晰度。现在获得安全弹出窗口的ASPX文件仅调用网络共享的UNC上的File.Exists。这个特定的脚本并没有提供文件下载(但),它仍然失败。

p.s.我知道这可能不是提供这些文件的最佳方式。我是一名承包商,为正在将他们的网站迁移到另一个虚拟主机的客户进行工作。在我们希望能够重写这个之前,我们需要做好工作。最小的影响是关键。

+0

1个其他问题我发现与任何发现此问题的人无关。在web.config脚本中有自定义安全性,但web.config错误,它具有表单身份验证,但xml不正确(需要mode =“Forms”),一旦相应地重定向,并且安全设置权限用户可以下载 – JoshReedSchramm 2009-08-05 15:53:24

回答

0

如果文件位于不同的共享上,首先需要使用Response.WriteFile()方法实际发送文件。

然后,从权限的角度来看,您只需拥有ASPNET(或者Win 2003/Vista/Win 2008上的网络服务),并具有根据需要对该文件夹进行读/写操作的权限。

+0

打算把这个标记为答案,我使用的是ASPNET,我需要NETWORK SERVICE。还有其他的问题,但是这个帮助最大。 – JoshReedSchramm 2009-08-05 15:52:21

0

谨慎使用“每个人”组。检查IIS中虚拟目录的安全权限。应该只是“匿名”。尝试this,然后按照找到的设置here来保护服务器。

0

如果您直接链接到内容,则不会涉及ASPNET用户。该用户仅用于在IIS中执行ASPx文件。要允许网上用户直接访问该文件,请确保帐户“IUSR_ computerName”有权访问该文件。