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?

Respuestas a la pregunta(4)

Su respuesta a la pregunta