我正在开发一个 CDN 服务器,它是一个普通的 MVC 项目。但是,在项目文件夹中,假设我有 CDN
文件夹,并且我希望每个人都可以访问其中的任何文件,具有任何文件扩展名,并且仅限于 CDN
文件夹.也就是说,我不想公开我的 web.config
文件或 Views
文件夹。
有没有什么方法可以在不使用自定义 Controller
或 RouteHandler
的情况下做到这一点?
编辑:按照指定,我正在 IIS 或 Web.config 或其他地方寻找一种在 Controller 或 RouteHandler 中编写代码的方法,因此它不是重复的。
根据 David Gunderson 的回答,这是我允许 CDN 文件夹的 web.config:
<location path="CDN">
<system.webServer>
<staticContent>
<mimeMap fileExtension="*" mimeType="application/octet-stream"/>
</staticContent>
</system.webServer>
</location>
最佳答案
您可以在您的网络配置中为您站点的特定子目录配置位置设置:
https://msdn.microsoft.com/en-us/library/ms178692%28v=vs.140%29.aspx
如果放置在您的根 web.config 中,以下将授予所有用户访问 CDN 文件夹内容的权限。即使您为站点的其余部分打开了表单例份验证,它也会向匿名用户授予访问权限:
<location path="CDN">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
关于c# - 配置 IIS 或 Web.config 以仅提供特定文件夹中的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30291237/