При попытке применить [RequireHttps] для AccountController.Logon в ASP.NET MVC 2 Preview 2 я получаю следующее сообщение об ошибке:терпит неудачу в MVC Preview 2 при применении к AccountController.LogOn
ASP.NET обнаружен недопустимый символов в URL.
Это происходит потому, что ASP.NET переписал мой запрос от
http://example.com/admin
в
https://example.com/account/logon%3FReturnUrl=/admin
Это само по себе ASP.NET, который добавил ReturnURL
(не ASP.NET MVC), но это атрибут RequireHttps
, который перенаправляет и испортит URL.
%3F
вместо ?
нарушает страницу.
Я думаю, что это технически ошибка в ASP.NET. Есть ли обходной путь? Я думаю, может быть, способ обработать событие «unauthenticated» в global.asax - или, возможно, просто исправить источник для RequireHttpsAttribute.
[RequireHttps]
public ActionResult LogOn()
{
return View(DefaultModel);
}
<authentication mode="Forms">
<forms loginUrl="~/account/logon"/>
</authentication>
Вот similar, but different question
Edit: Я просто попытался вручную ввести в http://example.com/accout/login?cat=dog
и он по-прежнему перенаправлены на недействительный URL: account/logon%3Fcat=dog
. Первоначально я думал, что это связано с конфликтом между провайдером членства и [RequireHttps]
, но это похоже на просто базовую ошибку, поэтому я думаю, что мне придется просто исправить источник самостоятельно.
У меня была точно такая же проблема, но это единственный пост в любом месте, что я видел, что обратился к нему! Благодарю. – ChrisW
Вы пробовали с MVC 2 RC еще? если нет, нам нужно подать отчет об ошибке! –