Как я понимаю, атрибут [HttpPost] или любой метод POST в этом отношении используется при изменении состояния. Однако, если вы устанавливаете Аутентификацию по формам с помощью loginUrl, например:
<forms loginUrl="~/Account/LogIn" ...
это вызовет перенаправление при обнаружении атрибута [Authorize]. Пример:
[Authorize]
public ActionResult AccessPrivateData()
{
// Should redirect to /Account/LogIn if AuthCookie not set
// ...
}
Пока все хорошо. Моя проблема в том, что я не могу использовать [HttpPost] для действия входа в систему (потому что вы не можете перенаправить на POST):
[HttpPost]
public ActionResult LogIn(string username, string password)
{
// Won't find the URL (/Account/LogIn) if redirected to here...
// ...
}
но разве действие входа не изменит состояние, гарантируя POST? Пожалуйста, кто-нибудь предложит какое-нибудь объяснение, и если вы можете, как вы справляетесь с этим.