【发布时间】:2014-03-27 16:48:39
【问题描述】:
我在 .net 中编写了一个简单的 HttpModule,用于针对非 .net 文件的数据库对用户进行身份验证。
在 IIS 6 中,我将 .htm 和 .pdf 扩展名映射为由 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 执行,一切正常。
现在我不想对经典 asp 页面做同样的事情,但 .asp 扩展名已经映射到 C:\WINDOWS\system32\inetsrv\asp.dll 并且映射到 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 不起作用,因为在 .asp 中没有经典 ASP 的构建提供程序。净。
这是我的 web.config 文件的样子:
<system.web>
<authorization>
<deny users "?" />
</authorization>
<compilation>
<buildProviders>
<add extension=".asp" type="System.Web.Compilation.PageBuildProvider" />
<add extension=".htm" type="System.Web.Compilation.PageBuildProvider" />
<add extension=".pdf" type="System.Web.Compilation.IgnoreFileBuildProvider" />
</buildProviders>
</compilation>
<httpHandlers>
<add path="*.asp" verb="*" type="System.Web.UI.PageHandlerFactory" validate="false"/>
<add path="*.htm" verb="*" type="System.Web.UI.PageHandlerFactory" validate="false"/>
<add path="*.pdf" verb="*" type="System.Web.StaticFileHandler" validate="false"/>
</httpHandlers>
<httpModules>
<add name="MyAuthenticationModule" type="Authentication.MyAuthenticationModule, Authentication"/>
</httpModules>
</system.web>
有解决办法吗?
【问题讨论】:
-
您是否能够至少升级到 IIS 7?为经典 ASP 页面的请求运行托管身份验证模块将非常容易实现。
-
不,很遗憾我现在无法升级...很高兴知道我们升级后它会起作用