我正在嘗試將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