如何使用UNC共享路径从aspx页面打开存储在服务器中的文件?

时间:2010-02-24 20:51:25

标签: c# file-io asp.net-2.0 impersonation

我在aspx页面网格视图中列出了存储在远程服务器中的文件,文件名已链接(href)到文件的UNC路径。
当用户单击文件名链接时,它应该从服务器打开文件以允许用户读取文件 我正在使用模拟(使用镜像登录方法)进行文件上传和删除,在同一页面中工作正常。
当我尝试单击链接以查看文件时,它会抛出一个错误消息框,表示访问被拒绝 从我的应用程序上载/删除文件时,它使用我在web.config中指定的模拟帐户 但在尝试通过链接访问时,它使用默认的ASP.NET (SERVER \ IUSR_SERVER)帐户。 我无法对我的文件服务器共享中的所有内容进行读取访问。

如何在尝试访问文件以便通过我为文件显示的链接进行阅读时,使应用程序使用模拟帐户?

或者请建议我做同样的更好的替代方案。

在此先感谢。

1 个答案:

答案 0 :(得分:0)

在网页中生成链接时,请不要直接指向UNC,而是指向应用的页面,并使用参数来标识文件。在此页面中,使用相同的模拟方法打开文件并将其内容发送回Web浏览器。