2010-06-16 100 views
5

最簡潔的,我的問題是,是否IIS下運行的ASP.NET 4.0應用程序7集成模式應該能夠兌現我的Web.config文件中的這一部分:刪除ASP.NET/IIS 7應用程序中特定路徑的HttpModule?

<location path="auth/windows"> 
    <system.webServer> 
     <modules> 
     <remove name="FormsAuthentication"/> 
     </modules> 
    </system.webServer> 
    </location> 

我與混合模式驗證試驗(Windows和窗體 - 我知道還有關於這個主題的其他問題)。使用IIS管理器,我已禁用匿名身份驗證身份驗證/ Windows/winauth.aspx,它位於上面的位置路徑。我設置了失敗請求跟蹤以跟蹤各種HTTP狀態代碼,包括302。

當我請求winauth.aspx頁面時,返回一個302 HTTP狀態碼。如果我查看請求跟蹤,我可以看到401(未授權)最初由AnonymousAuthenticationModule生成。但是,FormsAuthenticationModule將其轉換爲302,這是瀏覽器所看到的。所以看起來好像我嘗試從該管道中的頁面中移除該模塊不起作用。但我沒有看到任何地方的任何投訴(事件查看器,死亡黃頁等),這表明它是一個無效的配置。我希望401返回到瀏覽器,這可能會包含一個適當的WWW-Authenticate標頭。

其他幾點:a)我在我的Web.config中有<authentication mode="Forms">,這就是302重定向到的; b)我想要從inetserv \ config \ applicationHost.config文件中刪除模塊的「名稱」; c)我的Web.config文件中有這個元素:<modules runAllManagedModulesForAllRequests="false">

任何人都有這種方式刪除模塊的運氣?

回答

0

而不是刪除模塊,如何刪除該路徑的窗體身份驗證?

<location path="auth/windows"> 
    <system.Web> 
     <authentication mode="None"/> 
    </system.Web> 
    </location> 
+0

我試過了。它給出了一個黃色的異常頁面,該屬性不能設置在應用程序級別以下。 – soccerdad 2010-06-16 22:48:10