配置IIS或Web.config文件,仅提供特定文件夹中的所有文件。

3
我正在开发一个CDN服务器,它是一个普通的MVC项目。但是,在项目文件夹中,假设我有一个名为CDN的文件夹,我希望所有人都可以访问其中任何文件,包括任何文件扩展名,仅限于CDN文件夹。也就是说,我不希望我的web.config文件或Views文件夹被暴露出来。

是否有一种方法可以在不使用自定义ControllerRouteHandler的情况下实现这一点?

编辑:如上所述,我正在寻找一种在IIS或Web.config或其他地方编写控制器或RouteHandler代码的方法,因此它不是重复问题。

参考David Gunderson的答案,这是我的web.config文件,允许CDN文件夹:

  <location path="CDN">
    <system.webServer>
      <staticContent>
        <mimeMap fileExtension="*" mimeType="application/octet-stream"/>
      </staticContent>
    </system.webServer>
  </location>
1个回答

4
您可以在web.config文件中为您网站的特定子目录配置位置设置:
如果将以下内容放置在您的根web.config中,它将授予所有用户访问CDN文件夹内容的权限。即使对于网站的其余部分启用了表单身份验证,它也将授予匿名用户的访问权限。 https://msdn.microsoft.com/en-us/library/ms178692%28v=vs.140%29.aspx
    <location path="CDN">
        <system.web>
            <authorization>
                <allow users="*"/>
            </authorization>
        </system.web>
    </location>

太好了!非常感谢。根据搜索允许类型扩展的建议,我做到了。已经在问题中更新了我的解决方案。 - Luke Vo
太棒了。祝你好运。 - David Gunderson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接