Cómo manejar elegantemente ReturnUrl cuando se usa UrlRewrite en los formularios Web de ASP.NET 2.0
Tengo una carpeta con varias páginas .aspx a las que quiero restringir el acceso. He añadido web.config a esa carpeta con<deny users="?"/>
.
El problema es que ReturnUrl se genera automáticamente con una ruta física al archivo .aspx mientras estoy usando UrlRewrite.
¿Hay una manera de manipular ReturnUrl sin hacer la verificación y redirección de autenticación manual? ¿Hay alguna forma de configurar ReturnUrl desde el código subyacente o desde web.config?
EDITAR: La aplicación está utilizando ASP.NET 2.0 WebForms. No puedo usar enrutamiento 3.5
Editar 2: Parece que el código de estado 401 nunca se captura. Devuelve 302 para la página protegida y redirige a la página de inicio de sesión con ReturnUrl. No devuelve 401 para página protegida. Hmm ... Interesante ... Ref:http://msdn.microsoft.com/en-us/library/aa480476.aspx
Esto hace que las cosas sean más difíciles ... Es posible que tenga que escribir reglas de asignación de reescritura inversa para que las expresiones regulares coincidan con ReturnUrl y lo reemplace si no devuelve 401 ... Si devuelve 401, puedo establecer RawUrl en Response. con RawUrl.
Alguien más tiene alguna otra idea?