Ich habe einen Ordner mit mehreren ASPX-Seiten, auf die ich den Zugriff beschränken möchte. Ich habe web.config zu diesem Ordner mit <deny users="?"/>
hinzugefügt.Wie behandelt man elegant ReturnUrl bei der Verwendung von UrlRewrite in ASP.NET 2.0 WebForms
Das Problem ist, dass ReturnUrl automatisch mit dem physischen Pfad zur ASPX-Datei generiert wird, während ich UrlRewrite verwende.
Gibt es eine Möglichkeit, ReturnUrl zu manipulieren, ohne manuelle Authentifizierung und Umleitung durchzuführen? Gibt es eine Möglichkeit, ReturnUrl aus Code-Behind oder aus web.config festzulegen?
BEARBEITEN: Die Anwendung verwendet ASP.NET 2.0 WebForms. Ich kann das 3.5-Routing nicht verwenden.
EDIT 2: Es scheint wie 401 Statuscode nie erfasst wird. Es gibt 302 für geschützte Seite zurück und leitet mit ReturnUrl zur Anmeldeseite um. 401 für geschützte Seite wird nicht zurückgegeben. Hmm ... Interessant ... Ref: http://msdn.microsoft.com/en-us/library/aa480476.aspx
Das macht die Dinge schwieriger ... Ich muss Reverse Rewrite Mapping-Regeln zu regex Match ReturnUrl schreiben und ersetzen, wenn es nicht 401 zurückgibt ... Wenn es gibt 401 zurück Ich kann RawUrl entweder auf Response.RedirectLocation setzen oder ReturnUrl durch RawUrl ersetzen.
Hat noch jemand andere Ideen?
Wer sonst noch mit anderen Vorschlägen? –