如何限制对文件的访问,在ASP.NET特定扩展名?
-
20-08-2019 - |
题
我在我的web应用程序的ADO.NET实体框架* .edmx文件。
当我浏览的浏览器(应用程序运行时)到EDMX文件,它不会显示在浏览到一个* .cs或VB文件时一样的错误页面,打开EDMX并显示我的模型方案对所有用户!!!
如何避免这种情况。
解决方案
您可以这样做两种方式;首先在web.config或其次在IIS
<system.web>
<httpHandlers>
<add verb="*" path="*.edmx" type="System.Web.HttpForbiddenHandler" />
</httpHandlers>
</system.web>
下面是到Microsoft支持页面,详细说明如何做到这一点的web配置和IIS的链接。
其他提示
您应该映射在System.Web.HttpForbiddenHandler
扩展到ASP.NET的web.config
类。如果使用的是IIS6,你能做到这一点之前,您应该已经映射扩展到ASP.NET ISAPI处理程序。
IIS7集成模式:
<system.webServer>
<handlers>
<add name="MyForbiddenExtensionHandler"
path="*.edmx"
verb="*"
type="System.Web.HttpForbiddenHandler"
preCondition="integratedMode" />
</handlers>
</system.webServer>
IIS7经典模式。是这样的:
<system.web>
<httpHandlers>
<add path="*.edmx"
verb="*"
type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
<add name="MyExtensionISAPI"
path="*.edmx"
verb="*"
modules="IsapiModule"
scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
</handlers>
</system.webServer>
IIS6(映射处理程序在IIS6配置aspnet_isapi.dll
后):
<system.web>
<httpHandlers>
<add path="*.edmx"
verb="*"
type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</httpHandlers>
</system.web>
不隶属于 StackOverflow