MVC 2 Перенаправление на страницу входа после POST. Как это исправить? - PullRequest
1 голос
/ 29 апреля 2011

У меня есть базовый контроллер с действием create с GET и POST. GET работает нормально и отображает страницу, однако POST всегда перенаправляет меня обратно на страницу входа, и мои данные не сохраняются. Я использую проверку подлинности с помощью форм, но еще не использую атрибут [Authorize] ни в одном из моих действий контроллера. Все отлично работает локально на моей машине, но когда я публикую на сервер, эта ошибка начинает происходить. Вот код для моих методов создания:

    [HttpGet]
    public ActionResult Create()
    {
        var employee = new EmployeeViewModel();
        return View(employee);
    }

    [HttpPost]
    public ActionResult Create(EmployeeViewModel viewModel)
    {
        var dataModel = viewModel.TransformToDataModel();
        allEmployees.Add(dataModel);
        ViewData["SuccessMessage"] = string.Format("{0} successfully added to the system", viewModel.Name);
        return View("Success");
    }

Я использую членство в AspNetSql по умолчанию / RoleProvider / ProfileProvider и хостинг на GoDaddy с использованием IIS 7.0. Вот основные части моего файла web.config:

<authentication mode="Forms">
       <forms 
        name="formCookie" protection="None" enableCrossAppRedirects="false" requireSSL="false"
       loginUrl="~/Account/LogOn" timeout="2880" defaultUrl="~/Home/Index" path="/" />
    </authentication>
    <authorization>
        <deny users="?"/>
        <allow users="*" />
    </authorization>
    <identity impersonate="true"/>

Если кто-то сталкивался с этой ошибкой раньше или знает, что происходит, это было бы огромной помощью. Спасибо!

1 Ответ

1 голос
/ 29 апреля 2011

В ASP.NET MVC предпочтительным способом обработки авторизации является использование атрибута [Authorize].Раздел <authorization> в web.config должен быть удален.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...