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



我正在开发一个CDN服务器,这是一个正常的MVC项目。但是,在项目文件夹中,假设我有CDN文件夹,并且我希望每个人都可以访问其中的任何文件,具有任何文件扩展名,并且仅适用于CDN文件夹。也就是说,我不希望我的web.config文件或Views文件夹例如被暴露。

有没有办法做到这一点,而不使用自定义ControllerRouteHandler ?

编辑:如指定我正在寻找一种方式在IIS或Web。在Controller或RouteHandler中编写代码,所以它不是重复的。

跟随David Gunderson的回答,这是我的网页。配置允许CDN文件夹:

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

您可以在web配置中为网站的特定子目录配置位置设置:

https://msdn.microsoft.com/en-us/library/ms178692%28v=vs.140%29.aspx

如果将CDN文件夹放在根web.config中,下面的命令将授予所有用户访问CDN文件夹内容的权限。它将授予匿名用户访问权限,即使您对站点的其余部分打开了表单身份验证:

    <location path="CDN">
        <system.web>
            <authorization>
                <allow users="*"/>
            </authorization>
        </system.web>
    </location>

相关内容

  • 没有找到相关文章

最新更新