繁体   English   中英

IIS虚拟文件夹URL加密

[英]IIS Virtual Folder URL encryption

我们有ac#asp.net web应用程序,除其他外,允许用户下载以前上传的文件,如PDF,Word文档等.asp.net应用程序通过IIS6服务器提供,文件资源生活在不同的服务器。

当用户请求文件(即单击Web表单上的按钮)时,我们将文件流回其浏览器,并相应地更改ContentType。

这似乎是避免沿着IIS虚拟文件夹路由提供文件资源的好方法 - 由于用户可能会破解URL,我们担心这一点。 即使用像https://mydomain/myresource/clientid/myreport.docx这样的URL,一个精明的用户可以很好地猜测替代cvlientid和文档名称。

将Word文档流式传输到浏览器的麻烦在于,当浏览器将其投放到Word时,Word会将其视为全新的文档,这意味着原始文档的属性和边距信息将丢失。

我们的用户将元数据信息存储在Word文档属性中,因此他们不接受此解决方案。

通过IIS虚拟文件夹提供服务解决了这个问题,但引入了URL安全问题。

所以我的问题是......

有谁知道我们如何使用IIS虚拟文件夹进行URL加密/解密(或混淆)?
或者有人知道任何做类似工作的开源项目。
或者是否有人对如何编写我们自己的虚拟文件夹实现但使用加密URL有任何兴趣?

提前谢谢了。

PS。 我们的网络应用程序通过https提供

对不起,伙计们,在我的问题中,我做了一些不正确的假设。

我想要做的是,当从服务器(使用Response.TransmitFile或通过虚拟文件夹)将文档存储在客户端浏览器上时,它们会保留存储在word文档中的属性。

我设置了一个带有IIS虚拟文件夹的测试场景,并在我的虚拟文件夹的物理路径中删除了一个docx文件(我知道它包含标题和主题属性中的信息)。

我将浏览器指向虚拟文件夹别名,浏览器弹出其消息以打开或保存文档。

如果我选择保存它,保存的docx仍然具有完整的属性。

如果我选择打开它然后从Word保存它,保存的docx已丢失属性。

所以我想我需要发一个不同的问题!

您可能会发现“Windows Identity Foundation”中的ClaimsAuthorizationManager类执行您想要的操作。 您可以实现您喜欢的任何逻辑,以确定谁可以在不使用“目录安全性”的情况下下载内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM