【问题标题】:ASP.NET Serving Word DocumentsASP.NET 服务 Word 文档
【发布时间】:2009-08-05 14:11:32
【问题描述】:

我有一个应用程序,它有一个名为“Docs”的子文件夹(实际上是一个虚拟目录),我在其中保存了所有 Word 文档。我不希望任何未经身份验证的用户访问这些文档,但出于某种原因,无论我在我的根 web.config 或“文档”web.config 中放置了什么,IIS 仍然为任何用户提供这个词。

【问题讨论】:

    标签: asp.net security ms-word httphandler


    【解决方案1】:

    我假设该文件夹中的文件是 .doc

    除非您修改了 IIS 配置,否则 .doc 文件不会由 ASP.NET 处理(默认情况下,它们应该由直接的 IIS 文件处理程序处理)。这意味着 asp.net dll 永远不会看到请求,因此 ASP.NET 的 web.config 文件中的任何设置都是没有意义的。

    您需要配置 IIS 以将 .doc 文件识别为由 ASP.NET dll 处理,或者使用通配符映射以便服务器上的所有文件都通过 ASP.NET(请记住,这会增加让每一个静态文件请求都通过一个完整的服务器端编程框架)

    【讨论】:

    • 我确实做到了。我将 IIS 中的 .doc 扩展名映射到 ASP.NET,并将 web.config 中的 HttpHandler 映射到 *.doc 扩展名,但这似乎仅适用于根文件夹中的 .doc 文件,而不适用于“Docs”文件夹。我还尝试在映射 HttpHandler 的“Docs”文件夹中添加一个 web.config,但似乎没有任何效果。
    【解决方案2】:

    您的虚拟目录是一个单独的应用程序,可能不受根管理。将 web.config 和映射添加到虚拟目录。

    如果这只是个人问题(您的问题有两种解读方式),我会通过删除匿名访问来在文件夹上使用 IIS 级密码。

    【讨论】:

    • 所以我已经完成了所有这些(除了匿名访问,因为这些是应用程序用户动态生成的文档),但似乎没有任何效果。我通过点击同一个文档来测试所有这些设置。 . .缓存在我的浏览器中。打一个新文件给了我想要的结果。哇,那太可怕了。感谢您的帮助!
    猜你喜欢
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-29
    • 1970-01-01
    相关资源
    最近更新 更多