4

我们在允许同一网络上的用户共享指向共享网络文件夹的链接时遇到问题。使用 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#)中允许临时权限?

欢迎任何其他建议。

4

2 回答 2

0

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

至于为什么即使在 IE 中链接也会失败,您确定运行时链接实际上是您所期望的吗?如果无法解析链接,您至少应该收到一条弹出错误消息,指出无法找到文件或链接,这种性质的东西。完全没有回应有点好奇。

于 2012-09-18T15:39:16.897 回答
0

似乎存在安全和实施问题:指向本地网络共享的 HTML 链接

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

于 2012-09-18T15:36:19.003 回答