链接到ASP.NET中的网络文件夹

时间:2012-09-18 15:07:01

标签: asp.net .net hyperlink shared-directory directory-permissions

我们遇到一个问题,即允许同一网络上的用户共享指向共享网络文件夹的链接。使用ASP.NET,生成的代码如下:<asp:HyperLink ID="HyperLink1" runat="server" NavigateURL="file://///server/network_folder/" />

不幸的是,它没有我们想要的预期效果;点击时无论是IE8,Firefox(15.0.1)还是Chrome(21.0.1180.89 m)都无济于事。

环顾四周,我发现如果客户端浏览器将其设置为允许服务器权限(显然是出于安全原因),则可能只能以这种方式访问​​它。

为了省去必须四处走动并为每个客户端浏览器手动设置权限的麻烦,是否可以在代码隐藏文件(C#)中允许临时权限?

欢迎任何其他建议。

2 个答案:

答案 0 :(得分:0)

似乎存在安全性和实施问题:HTML links to local network shares

但是,您可以创建一个简单的asp .net请求处理程序(ashx)文件,该文件可以访问相关文件,设置mime类型,并在响应流中返回文件。这意味着该文件必须发送到您的Web服务器,然后通过http再次传输,但它是一个选项。

答案 1 :(得分:0)

假设目标文件夹是一个简单的Windows网络共享(而不是例如WebDAV共享,只有Internet Explorer能够通过它可以协商的Windows凭据访问它.Chrome,FireFox等等不自动协商Windows身份验证协议,以提供授权访问目标文件夹中存在的任何ACL所需的身份。

至于即使在IE中链接失败的原因,你确定运行时链接实际上和你期望的一样吗?如果链接无法解决,您至少应该收到一条弹出错误消息,指出无法找到该文件或链接,具有这种性质。完全没有回应有点好奇。