Mam folder z wieloma stronami .aspx, które chcę ograniczyć dostęp. Dodałem plik web.config do tego folderu z <deny users="?"/>
.Jak elegancko obsługiwać ReturnUrl przy użyciu UrlRewrite w ASP.NET 2.0 WebForms
Problem polega na tym, że funkcja ReturnUrl jest generowana automatycznie ze ścieżką fizyczną do pliku .aspx podczas korzystania z UrlRewrite.
Czy istnieje sposób na manipulowanie funkcją ReturnUrl bez ręcznego sprawdzania autentyczności i przekierowania? Czy istnieje sposób, aby ustawić ReturnUrl z kodu z tyłu lub z web.config?
EDIT: Aplikacja korzysta z WebForms ASP.NET 2.0. Nie mogę używać routingu 3.5.
EDIT 2: Wygląda na to, że kod statusu 401 nigdy nie jest przechwytywany. Zwraca 302 dla chronionej strony i przekierowuje do strony logowania za pomocą ReturnUrl. Nie zwraca 401 dla chronionej strony. Hmm ... Interesujące ... Ref: http://msdn.microsoft.com/en-us/library/aa480476.aspx
To sprawia, że rzeczy trudniejsze ... Być może będę musiał napisać zasady odwrotnego przepisywania odwzorowań, aby wyreperować dopasowanie ReturnUrl i zastąpić je, jeśli nie zwróci 401 ... Jeśli to zwraca 401 Mogę ustawić RawUrl na Response.RedirectLocation lub zamienić ReturnUrl na RawUrl.
Ktoś jeszcze ma jakieś pomysły?
Ktoś jeszcze z innymi sugestiami? –