ReturnUrl = Default.aspx для MVC? - PullRequest
       11

ReturnUrl = Default.aspx для MVC?

2 голосов
/ 21 апреля 2010

Я пытаюсь защитить весь свой сайт MVC, поэтому перед контроллером Home я добавил атрибут [Authorize].

Теперь, если вы запустите его из Visual Studio или перейдете по корневому URL-адресу (например, http://localhost:2897), он будет перенаправлен на страницу входа в систему, как и ожидалось. Однако URL-адрес в адресной строке после перенаправления выглядит так: 1005 *http://localhost:2897/Account/LogOn?ReturnUrl=%2fdefault.aspx%3f

Я не проверял это, поскольку я не реализовал свой код аутентификации. Однако для меня это выглядит большой проблемой, поскольку в моем проекте нет default.aspx!

Мой тег аутентификации в web.config выглядит так:

<authentication mode="Forms">
   <forms loginUrl="~/Account/LogOn" defaultUrl="~/Home/Index" timeout="2880"/>
</authentication>

Почему он не выбирает этот маршрут как ReturnUrl по умолчанию вместо default.aspx?

1 Ответ

2 голосов
/ 21 апреля 2010

ASP.NET (точнее, FormsAuthentication.RedirectFromLoginPage) всегда игнорирует настройку defaultUrl в web.config, когда присутствует параметр ReturnUrl.Это приветствуется, только когда вы переходите непосредственно на страницу входа без передачи параметров * 1005. *

Шаблон проекта ASP.NET MVC предоставляет пустой шаблон Default.aspx для обработки запросов, подобных этому в режиме конвейера IIS Classic.Вам должно быть хорошо с этим.

...