IIS 7.0上的经典ASP的表单身份验证
问题描述:
我正在尝试将ASP.NET安全与经典ASP集成。 像在下一篇文章 - http://weblogs.asp.net/scottgu/archive/2007/03/04/tip-trick-integrating-asp-net-security-with-classic-asp-and-non-asp-net-urls.aspx,但我有IIS 7.0,而不是IIS 6.0中的例子。IIS 7.0上的经典ASP的表单身份验证
您可以在下面找到我的配置文件(添加通配符脚本标签后)
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers accessPolicy="Read, Script">
<add name="ISAPI x64" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
<add name="ISAPI x32" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
</handlers>
</system.webServer>
<system.web>
<authentication mode="Forms">
<forms loginUrl="Login.aspx"></forms>
</authentication>
</system.web>
<location path="page.asp">
<system.web>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="default.asp">
<system.web>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
</system.web>
</location>
</configuration>
但应用程序调用ASP页面没有任何身份验证。
我之前没有使用过传统的ASP,因此我一直在寻找任何可以帮助我的信息。
我发现了另一篇感兴趣的文章http://support.microsoft.com/kb/891028 - “使用表单身份验证保护传统ASP页”部分。 不错的解决方案,但在这种情况下,我需要在每个页面上实现安全代码(ASP脚本代码)。
下一个短语是否意味着第一个解决方案不起作用?
与保护窗体身份验证传统的ASP页面不被设计支持,因为ASP和ASP.NET使用不同的处理程序...
任何人都可以选择我的解决方案/办法做到基于窗体身份验证IIS 7.0上的经典ASP?
是的,谢谢你,我在这里看到了这个解决方案-http://forums.asp.net/t/1427825.aspx。我插入了标记,而不是三个模块标记,它的工作原理是一样的。你知道runAllManagedModulesForAllRequests =“true”的缺点吗? –
2010-06-08 16:36:54
是的,这意味着所有托管模块都将运行所有请求,这可能会对性能产生负面影响,具体取决于您的应用程序的性能如何,如果您按照文章所述(仅验证模块),那么托管代码模块将不运行ASP(例如,ASP.NET Windows验证,ASP.NET输出缓存,ASP.ENT会话状态等,这些在您的场景中无用) – 2010-06-24 04:33:01