2010-06-08 103 views
1

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

回答

1

您可以使用IIS 7集成模式執行此操作,如here所述。

+0

是的,謝謝你,我在這裏看到了這個解決方案-http://forums.asp.net/t/1427825.aspx。我插入了 標記,而不是三個模塊標記,它的工作原理是一樣的。你知道runAllManagedModulesForAllRequests =「true」的缺點嗎? – 2010-06-08 16:36:54

+0

是的,這意味着所有託管模塊都將運行所有請求,這可能會對性能產生負面影響,具體取決於您的應用程序的性能如何,如果您按照文章所述(僅驗證模塊),那麼託管代碼模塊將不運行ASP(例如,ASP.NET Windows驗證,ASP.NET輸出緩存,ASP.ENT會話狀態等,這些在您的場景中無用) – 2010-06-24 04:33:01