ASP.Net MVC ReturnUrl Практика - PullRequest
1 голос
/ 25 мая 2010

У меня есть вопрос о параметре строки запроса returnUrl, который добавляется ASP.Net при попытке попасть на страницу, требующую аутентификации. При рассмотрении действия LogOn Sample Microsoft NerdDinner (наряду с каждым другим «примером кода аутентификации», который я вижу в «сети»), он просто имеет параметр ReturnUrl, объявленный в сигнатуре действия, и использует его непосредственно в вызове Redirect (). Тем не менее, еще в дни WebForms и с использованием контроля членства мы используем вызов FormsAuthentication.GetReturnUrl (). Помимо возврата «URL-адреса по умолчанию», если в строке запроса не был указан URL-адрес, он также выполняет несколько проверок безопасности (Cross App Redirect и «IsDangerousUrl ()»). Это уже не проблема или все примеры действий по входу в систему, которые я вижу по всей сети, просто игнорируют эти проблемы?

1 Ответ

0 голосов
/ 25 мая 2010

Я не уверен насчет примеров, которые вы просматривали, но вполне возможно использовать проверку подлинности с помощью форм, как в MVC, и воспользоваться проверками, выполненными в обработке FormsAuthenticationModule (или с использованием класса FormsAuthentication напрямую).

IIRC, стандартное MVC-приложение в Visual Studio включает адаптер для проверки подлинности форм (AuthenticationService), который можно легко адаптировать для использования строки запроса ReturnUrl.

Я предполагаю, что рассматриваемые образцы просто пропустили атаки XSR.

...