Ich habe eine ältere ASP.Net-Website, in die ich MVC integriere. Ich benutze webforms Authentifizierung mit dem Standard-Berechtigungs Tag in web.config:Erlaube öffentlichen Zugriff auf Controller-Aktion in WebForms + MVC-Site
<authorization>
<deny users="?"/>
</authorization>
Ich habe in der Lage zu verschiedenen Ordnern Öffentlichkeit in der Vergangenheit unter Verwendung von Standorten, wie zB:
<location path="Public">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Mit dem zusätzlichen von MVC und ein paar Controller muss ich ein paar Controller-Aktionen vollständig öffentlich machen. Ich kann dies jedoch nicht mit dem Standort-Tag in web.config tun. Wenn ich versuche, zur URL einer Aktion zu gehen, obwohl sie nicht authentifiziert ist, leitet ASP.Net mich zurück zu meiner Anmeldeseite (angegeben in web.config). Ich verwende kein Autorisierungsattribut für eine dieser Controlleraktionen.
Wie öffne ich den Zugang zu diesen innerhalb der Sicherheit für alle Webforms, die Schutz benötigen?
Edit:
ich klar, dass ich machen möchte bin mit [autorisieren] auf Aktionen möchte ich geschützt. Die Aktionen in Fragen, die ich öffentlich gemacht werden sollen, sind nicht mit dem [autorisieren] Attribut und sind noch nicht zugänglich, es sei denn angemeldet
bearbeiten. 2:
Ich habe einige IIS Spuren getan und denke, dass ich davon überzeugt, ich selbst, dass dies in der Tat Authentifizierung fehlschlägt, nicht ein anderer Fehler. Hier ist ein Beispiel für einen Standort und Route ich Zugang versuche:
<location path="WC">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
Und der Route:
routes.MapRoute(
"WC", // Route name
"WC/{id}",
new { action = "GetWC", controller = "WC" } // URL with parameters
);
und die URL, die fehlschlägt:
http://localhost/MyWebApp/WC/42
ich eigentlich haben eine allgemeinere Route, die dies behandelt, aber hinzugefügt, um jeden Zweifel zu beseitigen. In jedem Fall funktioniert das gut mit eingeloggt.
Können Sie ein Beispiel für die Standortelemente und Routen angeben, die Sie versuchen? Ein Missverhältnis zwischen den beiden scheint die wahrscheinlichste Ursache zu sein. –