Использование Response.End в действии MVC3

Я пытаюсь сделать что-то вроде этой статьи предлагает на моем сайте MVC3. Однако я не уверен, что смогу использовать Response.End в своем действии.

У меня вопрос, как я могу вернуть код состояния 401 из моего действия, если HttpContext.User == null?

public ActionResult WinUserLogOn(string returnUrl) {
        var userName = string.Empty;

        if (HttpContext.User == null) {
            //This will force the client's browser to provide credentials
            Response.StatusCode = 401;
            Response.StatusDescription = "Unauthorized";
            Response.End();
            return View("LogOn"); //<== ????
        }
        else {
           //Attempt to Log this user against Forms Authentication
        }

1 ответ

Решение

Это должно делать то, что вы хотите:

return new HttpUnauthorizedResult();

который вернет HTTP 401 в браузер. Смотрите документы.

Другие вопросы по тегам