Как элегантно обрабатывать ReturnUrl при использовании UrlRewrite в веб-формах ASP.NET 2.0
У меня есть папка с несколькими ASPX-страницами, доступ к которым я хочу ограничить. Я добавил web.config в эту папку с<deny users="?"/>
.
Проблема в том, что ReturnUrl автоматически генерируется с физическим путем к файлу .aspx, в то время как я использую UrlRewrite.
Есть ли способ манипулировать ReturnUrl без проверки и перенаправления проверки подлинности вручную? Есть ли способ установить ReturnUrl из-за кода или из web.config?
РЕДАКТИРОВАТЬ: Приложение использует ASP.NET 2.0 WebForms. Я не могу использовать 3.5 маршрутизации.
РЕДАКТИРОВАТЬ 2Похоже, код состояния 401 никогда не фиксируется. Он возвращает 302 для защищенной страницы и перенаправляет на страницу входа с ReturnUrl. Он не возвращает 401 для защищенной страницы. Хм ... Интересно ... Ссылка:http://msdn.microsoft.com/en-us/library/aa480476.aspx
Это усложняет ситуацию ... Возможно, мне придется написать правила сопоставления обратного переписывания, чтобы регулярное выражение соответствовало ReturnUrl, и заменить его, если оно не возвращает 401 ... Если оно действительно возвращает 401, я могу либо установить RawUrl в Response.RedirectLocation, либо заменить ReturnUrl с RawUrl.
У кого-нибудь еще есть другие идеи?