我正在开发一个CDN服务器,这是一个正常的MVC项目。但是,在项目文件夹中,假设我有CDN
文件夹,并且我希望每个人都可以访问其中的任何文件,具有任何文件扩展名,并且仅适用于CDN
文件夹。也就是说,我不希望我的web.config
文件或Views
文件夹例如被暴露。
有没有办法做到这一点,而不使用自定义Controller
或RouteHandler
?
编辑:如指定我正在寻找一种方式在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>