Abhängig von Ihrer Serverversion von IIS müssen Sie die MADAM-Module an verschiedenen Positionen in Ihrer Datei web.config platzieren.
IIS 6
%Vor%IIS 7
%Vor%Ich habe auch versucht, MADAM für mein aktuelles Projekt bei der Arbeit zu verwenden, aber ich scheine es nicht zu schießen.
Es hat den Anschein, dass sich etwas in der Art und Weise geändert hat, wie ASP.Net Anfragen verarbeitet und mit HttpModules umgeht, oder es ist ein Unterschied in der ASP.Net MVC-Pipeline.
Die schnellste Lösung, die ich finden konnte, ist, das Projekt in zwei separate Projekte aufzuteilen und sie als unterschiedliche Anwendungen in IIS zu hosten, sonst wird die Authentifizierung nicht so funktionieren wie gewünscht.
Soweit ich sagen kann, wenn Sie die Formularauthentifizierung eingeschaltet lassen, wird MADAM nicht ausgelöst und es werden keine Pfade gesucht, die Sie für die HTTP-Standardauthentifizierung nur auf die Login- oder Standardseite umleiten möchten. Wenn Sie die Formularauthentifizierung deaktiviert haben, funktioniert die Http-Basic-Authentifizierung, aber die Formularauthentifizierung funktioniert nicht, da sie das .ASPXAUTH-Cookie nicht automatisch lesen kann.
Wenn ich nicht über einen Weg stolpere, um es zum Laufen zu bringen, muss ich dieses Projekt in zwei teilen und jedes als separate Anwendung in IIS hosten.
Wenn Sie irgendwelche anderen Arbeiten haben, würden sie dankbar empfangen werden.
Ich habe MADAM nicht verwendet, aber basierend auf dem Diagramm sehe ich keinen Grund, warum Sie diesen Prozess nicht in AuthorizationFilter
implementieren oder direkt mit HttpApplication.AuthorizeRequest
event verbinden können. ASP.NET MVC unterliegt weiterhin dem ASP.NET HttpApplication
-Lebenszyklus.
Tags und Links asp.net-mvc .net c# asp.net authentication