2010-06-16 5 views
5

meist kurz und bündig, ist meine Frage, ob ein ASP.NET 4.0 app unter IIS 7 integrierte Modus ausgeführt wird, soll diesen Teil meiner Datei Web.config zu Ehren der Lage sein:HttpModule für bestimmten Pfad in ASP.NET/IIS 7-Anwendung entfernen?

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

mit Ich experimentiere Authentifizierung im gemischten Modus (Windows und Forms - Ich weiß, dass es zu diesem Thema noch andere Fragen zu SO gibt). Mit dem IIS-Manager habe ich die anonyme Authentifizierung für auth/windows/winauth.aspx deaktiviert, die sich im obigen Pfad befindet. Ich habe eine fehlgeschlagene Anfrageverfolgung eingerichtet, um verschiedene HTTP-Statuscodes, einschließlich 302s, zu verfolgen.

Wenn ich die Seite winauth.aspx anfordere, wird ein HTTP-Statuscode 302 zurückgegeben. Wenn ich mir die Anforderungsverfolgung ansehe, kann ich sehen, dass eine 401 (nicht autorisiert) ursprünglich von AnonymousAuthenticationModule generiert wurde. Das FormsAuthenticationModule konvertiert das jedoch zu einem 302, was der Browser sieht. So scheint es, als ob mein Versuch, dieses Modul für Seiten in diesem Pfad aus der Pipeline zu entfernen, nicht funktioniert. Aber ich sehe nirgendwo Beschwerden (Ereignisanzeige, gelbe Seiten des Todes usw.), die anzeigen würden, dass es sich um eine ungültige Konfiguration handelt. Ich möchte das 401 zum Browser zurückgeben, der vermutlich einen entsprechenden WWW-Authenticate-Header enthalten würde.

Ein paar andere Punkte: a) Ich habe <authentication mode="Forms"> in meiner Web.config, und das ist, was der 302 umleitet; b) Ich habe den "Namen" des Moduls, das ich versuche, aus der Datei inetserv \ config \ applicationHost.config zu entfernen; c) Ich habe dieses Element in meiner Datei Web.config: <modules runAllManagedModulesForAllRequests="false">.

Hat jemand Glück gehabt, Module auf diese Weise zu entfernen?

Antwort

0

Anstatt das Modul zu entfernen, wie wäre es mit dem Entfernen der Formularauthentifizierung für diesen Pfad?

+0

Ich habe das versucht. Es ergibt eine gelbe Ausnahmeseite, dass diese Eigenschaft nicht unterhalb der Anwendungsebene festgelegt werden kann. – soccerdad

Verwandte Themen